---------------------- ASP.Net+Android+IOS开发</a>、.Net培训、期待与您交流! ----------------------
Collection (List,Set两大派系)
add(E e)
clear()
contains(Object o)
remove(Object o)
Iterator iterator()返回集合的迭代器,通过迭代器的hasNext()和next()可以对集合元素进行遍历
|--List 对象是有序的,可以有重复对象。有索引。
ListIterator listIterator()List特有的迭代器。可以在迭代的同时,进行集合元素的add(E e)、remove()、set(E e)增、删、改;可以向前向后遍历集合。
|--ArrayList (JDK1.2)底层数据结构是数组结构。查询、修改速度快;增加、删除慢。
|--LinkList 底层数据结构是链表结构。查询、修改速度慢;增加、删除快。
|--Vector (JDK1.0)底层数据结构是数组结构。(它实现了线程同步,但效率不及ArrayList。也更浪费内在空间。)已被ArrayList代替。多了枚举(已被Iterator取代)取出集合中的对象:Enumeration en = .emements()
|--Set 对象是无序的(存入取出的顺序不一致),对象不可以重复。
|--HashSet 底层数据结构是哈希表。通过对象的hashCode()和equals()来判断对象是否相同。先判断hashCode()相同再判断equals()
|--LinkedHashSet 双链表结构,和HsahSet不同的是,它放入的顺序和取出的顺序是一致的。
|--TreeSet 底层数据结构是二叉树。
通过Comparable<T>(intcompareTo(T o))接口实现集合内对象的自然有序。
当compareTo返回0时,TreeSet认为对象相同。
对要存入集合TreeSet的对象要么implements Comparable。
或者通过实现Comparator接口新增一个比较器(clasMyCompare implements Comparator),实现接口中的int compare(T o1,T o2)方法。然后在建立TreeSet集合对象时指定一个比较器(TreeSetts = new TreeSet(new MyCompare()))。
Map 该集合存储键值对。键值保持唯一对应关系。
put(K key, V value)增、改元素。key不存在,则添加;key存在,value会替换集合里key所对应的value
get(Object key)
remove(Object key)
clear()
size()
Set keySet()返回一个set,该set包含Map集合中的所有key,可以通过对set遍历拿到Map集合里的所有key
Set<Map.Entry> entrySet()返回一个set,该set包含Map集合中的所有键值对,通过遍历set可以拿到Map集合里所有key,value
getKey()
getValue()
|--Hashtable 底层是哈希表数据结构。不可以存入null键null值。线程同步。效率低。
|--Properties存储键值对的配置信息
|--HashMap 底层是哈希表数据结构。可以存入null键null值。线程不同步。效率高。
|--LinkedHashMap 双链表结构,和HashMap不同的是,通过key放入的顺序和通过key取出的顺序是一样的。
|--TreeMap 底层是二叉树数据结构。线程不同步。可以用于给Map集合中的键进行排序。
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------