《java集合概述》
2016-05-08 12:59
459 查看
JAVA集合概述: Collection: |---List有序的:通过索引就可以精确的操作集合中的元素。元素是可以重复的。 List提供了增删改查的动作。 增加add(element) add(index,element); 删除remove(element) remove(index); 修改set(index,element); 查询get(index); |---Vector:是可增长的数组结构。是同步的。增和查速度都慢,效率很低.目前不在使用。 |---ArrayList:是数组结构,长度可变的,(原理是:创建新数组+复制数组,查询速度很快)是不同步的。 |---LinkedList:是链表结构,不同步的,增删的速度很快。查询速度较慢. 可用于实现堆栈和队列. 堆栈:先进后出First in Last Out FILO 手枪弹夹 队列:先进先出First in First Out FIFO 排队买票 List是可以存储重复元素的,如果需求中要求容器中的元素必须唯一性.则看下面的Set集合. |---Set:不包含重复集合元素的集合。而且方法和Collection一致。set集合取出元素只有一种:迭代器. |--HashSet:哈希表结构,不同步,保证元素唯一性的方式依赖于:hashCode(),equals()方法,查询速度快,只能针对证唯一性的元素。 |--TreeSet:可以对set集合中的元素进行排序,使用的是二叉树结构,如何保证元素唯一性呢? 使用的对象比较的方法的结果是否为0,是0,视为相同元素,不存。 元素的排序比较方式有两种: 1,元素自身具备自然排序,其实就是实现了Comparable接口重写了compareTo方法 如果元素自身不具备自然排序,或者具备的自然排序不是所需要的,这时只能用第二种方式 2,比较器:其实就是在创建TreeSet集合时,在构造函数中指定具体的比较方式。 需要定义一个类实现Comparator接口,重写compare方法 到此为止,再往集合中存储对象时,通常该对象都需要覆盖hashCode,equals方法 同时实现Comparable接口,建立对象的自然排序。通常还有一个方法也会复写toString(); 看集合的小技巧: 集合分体系:List Set 子类对象的后缀名都是所属体系,前缀名都是数据结构名称. List:新出的子类都是以List结尾的,通常都是非同步的。 |--ArrayList : 看到array,就知道数组,查询速度快 |--LinkedList : 看到link,就知道链表,增删速度快 Set: |--HashSet:看到hash,就知道哈希表,查询速度更快,并想到元素唯一,通过hashCode(),equals方法保证元素唯一性 |--TreeSet:看到tree,就知道二叉树,可以排序,排序想到Comparable-compareTo Comparator-compare方法
相关文章推荐
- Struts2核心时序图
- java反射
- JAVA SE 8 学习笔记(三)使用lambda编程
- 使用SpringBoot快速实现接口测试
- java中并发集合
- Java第六次作业
- 【JAVA 动态创建风水罗盘 超精华Swing项目方案 - 文章01】
- 《java入门第一季》之面向对象(修饰符的概念和总结)
- 《java入门第一季》之面向对象(修饰符的概念和总结)
- 【JavaEE笔记】Filter的配置和工作过程
- 【JavaEE笔记】AsyncContext对象与AsycnListener对象
- Java多线程系列目录
- Java这杯浓浓的咖啡
- Java多线程系列--“JUC集合”04之 ConcurrentHashMap
- JDK环境变量配置
- java--Map集合常见遍历格式代码
- 从源码理解Stack.java
- 20145238-荆玉茗 《Java程序设计》第10周学习总结
- 设计模式--简单工厂应用 java
- Google Java 风格 阅读随笔