黑马程序员——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培训、期待与您交流! ----------------------
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培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员--Java基础学习(集合框架)第十五天
- 黑马程序员--Java基础学习(集合工具类)第十七天
- 黑马程序员-java基础-集合学习笔记
- 黑马程序员 JAVA基础学习笔记 集合等
- 黑马程序员学习log第五篇基础知识:JAVA的面向对象之集合总结
- 黑马程序员_java基础学习笔记06_集合框架
- 黑马程序员--Java基础学习笔记【集合-Map】
- 黑马程序员--Java基础学习笔记【集合-Set】
- 黑马程序员--Java基础学习笔记【集合-List、泛型】
- 黑马程序员—java基础学习--Map集合、Collections,Arrays工具类
- 黑马程序员——Java基础——Map集合的学习
- 黑马程序员------Java基础学习------集合框架
- 黑马程序员--集合框架知识总结和泛型--java学习日记7(基础知识)
- 黑马程序员--java基础学习笔记7
- 黑马程序员Java基础加强17-24学习日记
- 黑马程序员——java基础学习笔记——第十三天
- Java基础---集合 (黑马程序员)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(二十二)
- 黑马程序员——java基础之集合
- 黑马程序员 -- Java基础学习(6)