集合 LinkedList、Hashset、TreeSet --基础
链表(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 删除光标之前的元素B
itr.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

浙公网安备 33010602011771号