黑马程序员——集合框架总结
来源:互联网 发布:excel分析股票数据 编辑:程序博客网 时间:2024/06/11 09:10
Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
集合的根类是Collection
|——List 元素有序的,元素可以重复。该集合体系有索引
|——ArrayList:底层的数据结构使用的是数组结构。特点:查询速度快,但增删稍 慢,线程不同步
|——LinkedList:底层的数据结构是链表数据结构。特点:增删速度快,查询稍慢
|——Vector:底层是数组数据结构。线程同步,已被ArrayList替代
|——Set:元素是无序的(存入和取出的顺序不一定一致),元素不可以重复。
|——TreeSet可以对Set集合中的元素进行排序。 当主要条件一样时,一定要判断一下次要条件
|——HashSet:底层的数据结构式哈希表。线程是非同步的
HashSet是如何保证元素唯一性的呢?
是通过元素的两个方法:hashCode和equals来完成的
如果元素的hashCode值相同,才会判断equals是否为true
如果元素的hashcode值不同,才会调用equals
注意,对于判断元素是否存在,删除,添加等操作依赖的方法是hashcode和 equals方法
List特有的方法。凡是可以操作角标的方法都是该体系的方法。
增:
add(index,element);
addAll(index,Collection);
删:
remove(index);
改:
set(index,element);
查:
get(index);
subList(from,to);
listIterator();
int indexOf(obj);获取obj元素所在的位置。
ListItertor listIterator();
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。
HashMap 的存储实现
当程序试图将多个 key-value 放入 HashMap 中时示例代码: HashMap 类的 put(K key , V value)
HashMap<String , Double> map = new HashMap<String , Double>();
map.put("语文" , 80.0);
map.put("数学" , 89.0);
map.put("英语" , 78.2);
HashMap 采用一种所谓的“Hash 算法”来决定每个元素的存储位置。
当程序执行 map.put("语文" , 80.0); 时,系统将调用"语文"的 hashCode() 方法得到其 hashCode 值——每个 Java 对象都有 hashCode() 方法,都可通过该方法获得它的 hashCode 值。得到这个对象的 hashCode 值之后,系统会根据该 hashCode 值来决定该元素的存储位置。
集合的根类是Collection
|——List 元素有序的,元素可以重复。该集合体系有索引
|——ArrayList:底层的数据结构使用的是数组结构。特点:查询速度快,但增删稍 慢,线程不同步
|——LinkedList:底层的数据结构是链表数据结构。特点:增删速度快,查询稍慢
|——Vector:底层是数组数据结构。线程同步,已被ArrayList替代
|——Set:元素是无序的(存入和取出的顺序不一定一致),元素不可以重复。
|——TreeSet可以对Set集合中的元素进行排序。 当主要条件一样时,一定要判断一下次要条件
|——HashSet:底层的数据结构式哈希表。线程是非同步的
HashSet是如何保证元素唯一性的呢?
是通过元素的两个方法:hashCode和equals来完成的
如果元素的hashCode值相同,才会判断equals是否为true
如果元素的hashcode值不同,才会调用equals
注意,对于判断元素是否存在,删除,添加等操作依赖的方法是hashcode和 equals方法
List特有的方法。凡是可以操作角标的方法都是该体系的方法。
增:
add(index,element);
addAll(index,Collection);
删:
remove(index);
改:
set(index,element);
查:
get(index);
subList(from,to);
listIterator();
int indexOf(obj);获取obj元素所在的位置。
ListItertor listIterator();
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。
HashMap 的存储实现
当程序试图将多个 key-value 放入 HashMap 中时示例代码: HashMap 类的 put(K key , V value)
HashMap<String , Double> map = new HashMap<String , Double>();
map.put("语文" , 80.0);
map.put("数学" , 89.0);
map.put("英语" , 78.2);
HashMap 采用一种所谓的“Hash 算法”来决定每个元素的存储位置。
当程序执行 map.put("语文" , 80.0); 时,系统将调用"语文"的 hashCode() 方法得到其 hashCode 值——每个 Java 对象都有 hashCode() 方法,都可通过该方法获得它的 hashCode 值。得到这个对象的 hashCode 值之后,系统会根据该 hashCode 值来决定该元素的存储位置。
0 0
- 黑马程序员——集合框架总结
- 黑马程序员——集合框架总结
- 黑马程序员—集合框架
- 黑马程序员—集合框架
- 黑马程序员—集合框架
- 黑马程序员—集合框架
- 黑马程序员—集合框架
- 黑马程序员_JavaAPI——集合框架笔记总结
- 黑马程序员——集合框架知识点总结
- 黑马程序员 Java面向对象——集合框架总结
- 黑马程序员--Java面向对象——集合框架总结
- 黑马程序员——Java总结(集合框架)
- 黑马程序员——基础知识总结_集合框架1
- 黑马程序员——自学总结(三)集合框架
- 黑马程序员——JavaSE之集合框架总结二
- 黑马程序员——Java集合框架复习总结(一)
- 黑马程序员——Java集合框架复习总结(二)
- 黑马程序员——Java集合框架复习总结(三)
- Java 初始化字段方式和顺序
- 修改pacman字体颜色
- Codeforces Round #294 (Div. 2) D
- cocos2d-x中的场景
- QT使用sizeHint()遇到的问题
- 黑马程序员——集合框架总结
- EassyMock实践 捕获参数
- Tree
- cocos2d-x中的精灵
- Java并发编程实践(读书笔记) 任务执行(未完)
- android进程间通信(远程服务aidl,服务端)
- “三位一体”新颖教学方式,助你学得更快更好
- Java多线程并发编程之显示锁ReentrantLock和读写锁
- c++基数排序