目录
一、集合框架的概述
1、集合和数组的异同点
二、Collection接口方法
三、Iterator迭代器遍历集合当前元素
一、集合框架的概述
1、集合和数组的异同点
集合、数组都是对多个数据进行存储操作的结构,简称:java容器
数组在存储多个数据方面的特点:
①:数组的长度随着初始化的设定而确定,无法更改
②:数组存储的是数据是连续的、可重复的
③:数组在初始化声明时,声明的是什么类型,后续就只能存储相对应的类型,无法更改
④:数组中提供的方法和属性很少,不利于数组元素的添加、插入和删除操作,效率不高
java集合分为两种体系
Collection接口:单列数据,定义了存取一组数据的方法的集合
List:元素有序,可重复的集合
Set:元素无序,不可重复的集合
Map接口:双列数据,保存具有映射关系的“key-value对”的集合
二、Collection接口方法
1、add(Object obj)//将元素obj添加到集合当中
public void test1(){
Collection coll = new ArrayList();
coll.add("AA");//将元素AA添加到coll结合当中
coll.add("BB");
coll.add("124");
coll.add(new Date());
System.out.println(coll.size());
}
2、addAll(Collection coll)//将coll集合中的元素添加到集合B当中
public void test1(){
Collection coll = new ArrayList();
coll.add("AA");
coll.add("BB");
coll.add("124");
coll.add(new Date());
//addALL():将coll1集合中的元素添加到当前的集合中
Collection collection = new ArrayList();
collection.add(456);
collection.add("CC");
coll.addAll(collection);
}
3、int size()//获取集合中有效元素的个数
public void test1(){
Collection coll = new ArrayList();
coll.add("AA");
coll.add("BB");
coll.add("124");
coll.add(new Date());
System.out.println(coll.size());
}
4、void clear()//清空当前集合
public void test1(){
Collection coll = new ArrayList();
coll.add("AA");
coll.add("BB");
coll.add("124");
coll.add(new Date());
coll.clear();
}
5、boolean isEmpty()//判断是否是空集合
public void test1(){
Collection coll = new ArrayList();
coll.add("AA");
coll.add("BB");
coll.add("124");
coll.add(new Date());
System.out.println(coll.isEmpty());
}
6、boolean contrain(Object obj)//判断集合是否包含某个元素
public void test1(){
Collection list = new ArrayList();
list.add(123);
list.add(456);
list.add(new String("TOM"));
list.add(789);
list.add(false);
boolean contain = list.contains(123);
System.out.println(contain);
}
7、boolean contrainAll(Collection coll)//判断形参中的集合元素是否都在当前集合的元素中
public void test1(){
Collection list = new ArrayList();
list.add(123);
list.add(456);
list.add(new String("TOM"));
list.add(789);
list.add(false);
Collection coll1 = Arrays.asList(123);//多态
System.out.println(coll1);
System.out.println("比较结果:"+list.containsAll(coll1));
}
8、boolean remove(Object obj) //从当前集合中移除指定的obj元素,如果存在的话
Collection list = new ArrayList();
list.add(123);
list.add(456);
list.add(new String("TOM"));
list.add(789);
list.add(false);
boolean a= list.remove(1234);
System.out.println(a);
System.out.println(list);
}
9、boolean removeAll(Collection coll) // 从当前集合中移除coll集合中所有的元素,如果存在的话
public void test2(){
Collection list = new ArrayList();
list.add(123);
list.add(456);
list.add(new String("TOM"));
list.add(789);
list.add(false);
Collection coll = Arrays.asList(123,4567);
list.removeAll(coll);
System.out.println(list);
}
10、boolean retrain(Collection coll)//交集,将当前集合和coll集合中相同的元素取出,并返回给当前集合
Collection list = new ArrayList();
list.add(123);
list.add(456);
list.add(new String("TOM"));
list.add(789);
list.add(false);
Collection coll = Arrays.asList(123,456,7899);
boolean a = list.retainAll(coll);
System.out.println(a);
System.out.println(list);
}
11、equals//判断两个集合中元素是否都相同
public void test3(){
Collection list = new ArrayList();
list.add(123);
list.add(456);
list.add(new String("TOM"));
list.add(789);
list.add(false);
Collection list1 = new ArrayList();
list1.add(123);
list1.add(456);
list1.add(new String("TOM"));
list1.add(7891);
list1.add(false);
System.out.println(list.equals(list1));
}
12、hashCode()//返回当前对象的hash值
public void test4(){
Collection list = new ArrayList();
list.add(123);
list.add(456);
list.add(new String("TOM"));
list.add(789);
list.add(false);
//hashCode();返回当前对象的哈希值
System.out.println(list.hashCode());
}
13、toArray()//将当前集合转化为数组
public void test4(){
Collection list = new ArrayList();
list.add(123);
list.add(456);
list.add(new String("TOM"));
list.add(789);
list.add(false);
Object[] a= list.toArray();
for (Object o : a) {
System.out.println(o);
}
}
14、Iterator//迭代器,遍历当前集合元素
三、Iterator迭代器遍历集合当前元素
迭代器接口的方法:
hasNext():如果集合仍有元素,继续迭代
next():返回迭代的下一个元素
remove():从迭代器指向的Collection集合中移除迭代器返回的最后一个元素
迭代器遍历:
while (iterator.hasNext()){
System.out.println(iterator.next());
}
迭代器遍历集合时,删除集合中指定的元素:
Iterator iterator = list.iterator();
while (iterator.hasNext()){
Object obj = iterator.next();
if ("TOM".equals(obj)){
iterator.remove();
}
}
Iterator it = list.iterator();
while (it.hasNext()){
System.out.println(it.next());
}



