您的位置:首页 > 职场人生

黑马程序员——java基础学习(集合)

2014-03-10 12:18 260 查看
----------------------
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培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: