java入门11-集合
2017-07-26 21:27
323 查看
1、集合概述
Collection 接口 :Collection是最基本的集合接口,声明了适用于JAVA集合(只包括Set和List)的通用方法。List:List是有序的Collection。用户能够使用索引来访问List中的元素,List中的元素可以是重复的。
Set:Set中的对象不按特定的方式排序,并且没有重复对象,支持数学中的集合操作,如:交、并。
Map:Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象,提供按键对象查找值对象。Map没有继承于Collection接口。
Collection继承关系
|–List(接口)
|–ArrayList
|–Vector
|–LinkedList
|–Set(接口)
|–HashSet
|–TreeSet
ArrayList 底层数据结构是数组,查询快,增删慢。 线程不安全,效率高。 Vector 底层数据结构是数组,查询快,增删慢。 线程安全,效率低。 LinkedList 底层数据结构是链表,查询慢,增删快。 线程不安全,效率高。
2、List的特有功能:
A:添加功能 add(int index,Object obj) B:删除功能 remove(int index) C:获取功能 get(int index) D:迭代器功能 ListIterator listIterator() E:修改功能 set(int index,Object obj) F:判断功能 boolean contains(Object o) G: boolean isEmpty() H: int size() 返回列表中的元素数。
List<String> result = new ArrayList<String>();
3、Set
HashSet集合A:底层数据结构是哈希表(是一个元素为链表的数组) B:哈希表底层依赖两个方法:hashCode()和equals() 执行顺序: 首先比较哈希值是否相同 相同:继续执行equals()方法 返回true:元素重复了,不添加 返回false:直接把元素添加到集合 不同:就直接把元素添加到集合 C:如何保证元素唯一性的呢? 由hashCode()和equals()保证的
LinkedHashSet
底层数据结构是链表和哈希表 由链表保证元素有序 由哈希表保证元素唯一
TreeSet集合
A:底层数据结构是红黑树(是一个自平衡的二叉树) B:保证元素的排序方式 a:自然排序(元素具备比较性) 让元素所属的类实现Comparable接口 b:比较器排序(集合具备比较性) 让集合构造方法接收Comparator的实现类对象
Set<String> result = new HashSet<String>();
帮助记忆:
ArrayXxx:底层数据结构是数组,查询快,增删慢 LinkedXxx:底层数据结构是链表,查询慢,增删快 HashXxx:底层数据结构是哈希表。依赖两个方法:hashCode()和equals() TreeXxx:底层数据结构是二叉树。两种方式排序:自然排序和比较器排序
相关文章推荐
- java中的集合类(J2SE入门11)
- Java基础-集合框架11 自动拆装箱
- 黑马程序员_java入门_集合对象概述
- Java集合(11)——EnumSet源码解析
- java学习笔记11--集合总结
- 黑马程序员-Java学习11-集合2
- 上半年私人计划简略及Java桌面游戏开发入门示例并源码集合
- Java【集合系列】-11- Hashtable详细介绍(源码解析)和使用示例
- JavaSE入门学习38:Java集合框架之迭代器
- JAVA入门[11]-jsp几点基础语法
- java11 Guava:谷歌开发的集合库
- java基础入门----Collections1 集合框架工具类
- JAVA-10-算法、集合、Collection、List等、泛型入门
- 上半年私人计划简略及Java桌面游戏开发入门示例并源码集合
- Java8 编程规范入门之【forEach方法遍历集合】
- Java 集合深入理解(11):LinkedList
- JAVA入门 - 集合类
- 9.偏头痛杨的Java入门教学系列之初级集合框架篇
- java集合入门
- 黑马程序员 11 Java基础教学 - 11 - 集合框架总结