ArrayList list = new ArrayList<>();
ListIterator<String> iterator = list.listIterator(); while (iterator.hasNext()) { String string = (String) iterator.next(); System.out.println(string); } for(String s : list){ System.out.println(s); }Collection
boolean add(Object e) 确保此 collection 包含指定的元素int size() 返回此 collection 中的元素数。 boolean isEmpty() 如果此 collection 不包含元素,则返回 true。 void clear() 移除此 collection 中的所有元素。 boolean addAll(Collection c) 将指定 collection 中的所有元素都添加到此 collection 中 boolean contains(Object o) 如果此 collection 包含指定的元素,则返回 true。Iterator iterator() 返回在此 collection 的元素上进行迭代的迭代器。
Collection collection = new ArrayList<>(); Iterator iterator =collection.iterator(); boolean hasNext() 如果仍有元素可以迭代,则返回 true。 E next() 返回迭代的下一个元素。Object[] toArray() 返回包含此 collection 中所有元素的数组
Collection collection = new ArrayList<>(); collection.add("women"); collection.add("doushi"); collection.add("中国人"); Object[] objects = collection.toArray();LinkedList
ListIterator<Person> iterator = list.listIterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } E element() 获取但不移除此列表的头(第一个元素)。 E getFirst() 返回此列表的第一个元素。 E remove() 获取并移除此列表的头(第一个元素)。list
void add(int index, E element) 在列表的指定位置插入指定元素 E get(int index) 返回列表中指定位置的元素。 ListIterator listIterator() 返回此列表元素的列表迭代器 boolean hasPrevious() 如果以逆向遍历列表,列表迭代器有多个元素,则返回 true。E previous() 返回列表中的前一个元素。
ListIterator iterator = list.listIterator(); while (iterator.hasNext()) { Object object = (Object) iterator.next(); System.out.println(object); }//java.util.ConcurrentModificationException 并发修改异常
/** * 产生的原因: * 迭代器依赖于集合存在,在迭代的过程中集合发生了改变,但是迭代器还是依赖于原来的集合 * 并没有发生改变,所以出现了该异常。 * * 解决方案: * 1、让迭代器自己添加 * 2、用普通for循环 * */ ListIterator iterator = list.listIterator(); while (iterator.hasNext()) { String object = (String) iterator.next(); if(object.equals("小宋")){ list.add("隔壁老王"); iterator.add("隔壁老王"); } }Vector
void addElement(E obj) 将指定的组件添加到此向量的末尾,将其大小增加 1。 E elementAt(int index) 返回指定索引处的组件。 Enumeration elements() 返回此向量的组件的枚举 boolean hasMoreElements() 测试此枚举是否包含更多的元素。E nextElement() 如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。
Vector vector = new Vector<>(); vector.add(10); vector.add(520); vector.addElement(10000);
Enumeration em = vector.elements(); while(em.hasMoreElements()){ System.out.println(em.nextElement()); }
ListIterator iterator = vector.listIterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); }
for(int i =0;i
LinkedHashSet
LinkedHashSet<Person> set = new LinkedHashSet<>(); set.add(new Person("张三", 18)); set.add(new Person("李四", 28)); set.add(new Person("王五", 38)); set.add(new Person("王五", 38)); for (Person person : set) { System.out.println(person); }比较器接口的实现类
public class MyComparator implements Comparator<Person> { @Override public int compare(Person t1, Person t2) { int a = t1.age - t2.age; if(a==0){ return t1.name.compareTo(t2.name); } return a; } }TreeSet
TreeSet<Integer> set = new TreeSet<>(); set.add(100); Iterator<Integer> iterator = set.iterator(); while (iterator.hasNext()) { Integer integer = (Integer) iterator.next(); System.out.println(integer); } 使用自然排序TreeSet()构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。
TreeSet<Teacher> set = new TreeSet<>(); set.add(new Teacher("唐僧",100)); set.add(new Teacher("菩提老祖",3000));-遍历
//map集合---》方法1 for(Entry<Integer, String> entry:map.entrySet()){ System.out.println(entry.getKey()+":"+entry.getValue()); } //map集合--》方法2 for(Integer key:map.keySet()){ System.out.println("key="+key); } for(String value:map.values()){ System.out.println("value="+value); } //map集合:Interator Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator(); while(iterator.hasNext()){ Map.Entry<Integer, String> entry = iterator.next(); System.out.println(entry.getKey()+":"+entry.getValue()); }