java集合类(笔试用)
两条分支:Collection和Map
Collection接口没有实现类,有两个接口:Set和List
Set? 无序,没有重复元素 SortedSet升序排列的Set,实现类是TreeSet
List 有序,可以有重复元素
Map接口实现类HashMap SortedMap按key的升序排列,实现类是TreeMap
?
TreeSet和TreeMap的排序规则要实现对象的hashCode和equals方法,速度比HashSet和HashMap慢,所以不需排序的时候使用后者
?
ListArrayList:数据结构为数组,方便取得固定下标的元素
LinkedList:数据结构为双向列表,方便在List中插入、删除操作
?
List转换为数组
Set entry = map.entrySet();System.out.println(entry);Iterator it = entry.iterator();while(it.hasNext()){ Entry me = (Entry)it.next(); System.out.println("key:"+me.getKey()+",value:"+me.getValue());}
?
Vector和HashTable在多线程中涉及同步问题,Vector和HashTable是同步的。如果不是多线程中,采用ArrayList和HashMap效率更高。