集合 LinkedList、Hashset、TreeSet --基础

来源:互联网 发布:java 压缩文件 zip 编辑:程序博客网 时间:2024/05/23 01:36

链表(linked list):是一个有序集合(ordered collection)。

 List<String> staff = new LinkedList<String>();staff.add("Bob");staff.add("Amy");staff.add("Carl");Iterator<String> itr = staff.iterator();itr.next(); //先移动再删除 B|AC 删除光标之前的元素Bitr.remove();Iterator<String> itra = staff.iterator();while(itra.hasNext()){System.out.print(itra.next()+"  ");}
打印:Amy  Carl

ListIterator具有add方法,而Iterator不具有。
set方法是将光标前一元素进行替换。

List<String> staff = new LinkedList<String>();staff.add("Bob");staff.add("Amy");staff.add("Carl");ListIterator<String> itr = staff.listIterator();itr.next(); //先移动再添加 B|AC 在光标之前添加元素itr.add("Juliet");Iterator<String> itra = staff.iterator();while(itra.hasNext()){System.out.print(itra.next()+"  ");}
打印:Bob  Juliet  Amy  Carl

HashSet:基于散列表的集(hash table)。无序集合。
Set<String> words = new HashSet<String>();


TreeSet(树集):有序集合。可以自动的对添加的元素进行排序。
查找添加新元素的位置需要log2n次比较。
添加一个元素要比HashSet慢。

SortedSet<String> sorter = new TreeSet<String>();sorter.add("Bob");sorter.add("Amy");sorter.add("Carl");for(String s:sorter){System.out.println(s);}
打印结果: Amy    Bob Carl

原创粉丝点击