Collection中的几个All方法
addAll方法:把指定集合中的所有元素都添加到当前集合中。
removeAll:把指定集合与当前集合的交集删除。
retainAll:判断指定集合是否是当前集合的真子集,是 ,则返回true,不是则返回false。
集合的遍历
迭代器遍历集合
// 获取集合中元素上迭代功能的迭代器对象 // 迭代器对象不需要new 直接通过iterator()方法获取即可 Iterator iterator = arrayList.iterator(); // 将集合中的元素遍历打印 while(iterator.hasNext()) { Object next = iterator.next(); System.out.println(next); }
迭代器原理
集合内部有个指针,调用hasNext()方法时,会查看下一个位置是否为空,若不是空,则可调用next()方法将元素取出。
List特有方法
add(int index,Object obj)
在指定位置添加元素,但是要注意不要超出集合的Size。
set(index,obj)
设置元素,就是替换该位置的元素。
get(int index)
获取指定下标处的元素
remove(int index)
删除指定位置元素,返回的是删除的元素。
listIterator() 返回一个ListIterator对象,在Iterator的基础上添加了方法,如可以在迭代循环中给集合添加元素。
// 利用get方法遍历集合 for (int i = 0; i < list.size(); i++) { // 打印元素 System.out.println(list.get(i)); }
方法的练习,对一个集合里的元素进行去重
// 获取一个ListIterator对象 ListIterator listIterator = list.listIterator(); // 迭代遍历 while (listIterator.hasNext()) { // 向下转型 String string = (String)listIterator.next(); // 判断新集合中是否有这个元素,没有就加到新集合中 if (!list1.contains(string)) { list1.add(string); } }当集合中的元素是一个个单独的对象时,就无法使用如上方法了,因为这种方法的核心是调用的Object的equals方法,是对地址的比较,如果想达到去重的效果,需要在集合中存储的元素的类中重写equals方法,改成对类属性的判断。