文章目录
Collection方法使用
关于数据
@Test
public void aboutData() {
Collection coll = new ArrayList();
//add(Object e):将元素e添加到集合中
coll.add("AA");
coll.add("BB");
coll.add("CC");
coll.add(123);//自动装箱
//size():获取添加的元素的个数
System.out.println(coll.size());//4
Collection coll1 = new ArrayList();
coll1.add(456);
coll1.add("abc");
//addAll(Collection coll1):将coll1集合中的元素添加到coll中
coll.addAll(coll1);
System.out.println(coll.size());//6
//clear():清空集合元素
coll.clear();
//isEmpty():判断当前集合元素是否为空
System.out.println(coll.isEmpty());//true
}
contains
@Test
public void aboutContain() {
Collection coll = new ArrayList();
coll.add(new String("tom"));
coll.add(123);//自动装箱
coll.add(false);
//contains(Object obj):判断当前集合中是否包含obj,在判断时会调用对象的equals()方法
System.out.println(coll.contains(123));//true
System.out.println(coll.contains(new String("tom")));//true
Collection coll1 = new ArrayList();
coll1.add(123);
coll1.add(false);
//containsAll(Collection coll1):当前集合中是否包含coll1中的所有元素
System.out.println(coll.containsAll(coll1));//true
}
remove
@Test
public void aboutRemove(){
Collection coll = new ArrayList();
coll.add(new String("tom"));
coll.add(123);//自动装箱
coll.add(false);
//remove(Object obj),从当前集合中移除obj元素
boolean remove = coll.remove(123);
System.out.println(remove);//true
Collection coll1 = Arrays.asList(123,false);
//removeAll(Collection coll1):从当前集合中移除coll1中所有的元素
boolean b = coll.removeAll(coll1);
System.out.println(b);//true
}
交集(retainAll)
@Test
public void aboutRetainAll(){
Collection coll = new ArrayList();
coll.add(new String("tom"));
coll.add(123);//自动装箱
coll.add(false);
Collection coll1 = Arrays.asList(123,false,"jerry");
//retainAll(Collection coll1):获取当前集合与coll1的交集,修改的是当前的集合
coll.retainAll(coll1);
System.out.println(coll);//[123, false]
}
equals
@Test
public void aboutEquals(){
Collection coll = new ArrayList();
coll.add(new String("tom"));
coll.add(123);//自动装箱
coll.add(false);
Collection coll1 = new ArrayList();
coll1.add(new String("tom"));
coll1.add(123);//自动装箱
coll1.add(false);
//equals(Object obj):比较当前对象与obj是否相等
System.out.println(coll.equals(coll1));//true
}
List与数组的相互转换
@Test
public void aboutToArray() {
Collection coll = new ArrayList();
coll.add(new String("tom"));
coll.add(123);//自动装箱
coll.add(false);
//coll.toArray():转换为数组
Object[] arr = coll.toArray();
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "、");//tom、123、false、
}
//数组转换为集合
Collection list = Arrays.asList(123, false, "tom");
}
iterator
集合对象每次调用iterator()方法之前,都会得到一个全新的迭代器对象,默认游标都在集合的第一个元素之前。
遍历
利用iterator遍历
@Test
public void aboutIterator() {
Collection coll = new ArrayList();
coll.add(new String("tom"));
coll.add(123);//自动装箱
coll.add(false);
//iterator():返回Iterator接口的实例,用于遍历集合元素
Iterator iterator = coll.iterator();
/*
方式一
System.out.println(iterator.next());
System.out.println(iterator.next());
System.out.println(iterator.next());
//java.util.NoSuchElementException
System.out.println(iterator.next());
*/
//方式二
// for (int i = 0; i < coll.size(); i++) {
// System.out.println(iterator.next());
// }
//方式三:推荐
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
利用foreach增强for循环进行遍历
@Test
public void foreachTest(){
Collection coll = new ArrayList();
coll.add(new String("tom"));
coll.add(123);//自动装箱
coll.add(false);
//for(集合中元素的类型 局部变量:集合对象)
//内部仍然调用了迭代器
for (Object obj : coll){
System.out.println(obj);
}
int[] intArr = {1,2,3,4};
//遍历数组
//for(数组元素的类型 局部变量:数组对象)
for(int temp : intArr){
System.out.println(temp);
}
}
remove
@Test
public void aboutIteratorRemove() {
Collection coll = new ArrayList();
coll.add(new String("tom"));
coll.add(123);//自动装箱
coll.add(false);
System.out.println(coll.size());//3
Iterator iterator = coll.iterator();
while (iterator.hasNext()){
Object o = iterator.next();
if("tom".equals(o)){
//remove():移除当前游标指向的数据
iterator.remove();
}
}
System.out.println(coll.size());//2
}