集合各自特性
来源:互联网 发布:大量淘宝小号实名认证 编辑:程序博客网 时间:2024/05/11 05:00
一、总结
---|Collection: 单列集合
---|List: 有存储顺序, 可重复
---|ArrayList: 数组实现, 查找快,增删慢
由于是数组实现,在增和删的时候会牵扯到数组
增容, 以及拷贝元素. 所以慢。数组是可以直接按索引查找,所以查找时较快
---|LinkedList: 链表实现, 增删快,查找慢由于链表实现,增加时只要让前一个元素记住自己就可以,删除时让前一个元素记住后一个元素,后一个元素记住前一个元素.这样的增删效率较高但查询时需要一个一个的遍历,所以效率较低
---|Vector: 和ArrayList原理相同,但线程安全,效率略低
和ArrayList实现方式相同,但考虑了线程安全问题,所以效率略低
---|Set: 无存储顺序, 不可重复
---|HashSet 线程不安全,存取速度快。底层是以哈希表实现的。
---|TreeSet 红-黑树的数据结构,默认对元素进行自然排
序(String)。如果在比较的时候两个对象
返回值为0,那么元素重复。
---| Map: 键值对 键不可重复,键可以重复
---|HashMap 线程不安全,存取速度快。底层是以哈希表实现的.
---|TreeMap 红-黑树的数据结构,默认对元素进行自然排
序(String)。如果在比较的时候两个对象
返回值为0,那么元素重复
---|HashTable 底层也是使用了哈希表维护的,存取的读取快,存储元素是
无序的。
二、代码
class Person{int id;String name;public Person(int id, String name) {super();this.id = id;this.name = name;}@Overridepublic int hashCode() {return this.id;}@Overridepublic boolean equals(Object obj) {Person p = (Person)obj;return this.id == p.id;}@Overridepublic String toString() {return "编号:"+ this.id +" 姓名: "+ this.name;}}public class Demo1 {public static void main(String[] args) {HashSet<Person> set = new HashSet<Person>();set.add(new Person(110,"狗娃"));set.add(new Person(110,"狗娃"));System.out.println("集合的元素:"+ set);}}
- 集合各自特性
- 集合的类型与各自的特性
- 集合的类型和各自的特性
- 集合的类型与各自的特性
- JAVA集合的应用之——集合的类型和各自的特性
- 集合特性
- position:relative|absolute|fixed:各自的特性
- Java集合分类以及各自特点
- JDK1.5 JDK1.6 各自的新特性
- JDK1.5 JDK1.6 各自的新特性
- JDK1.5,JDK1.6,JDK1.7 各自的新特性
- JDK1.5 JDK1.6 各自的新特性
- JDK1.5 JDK1.6 各自的新特性
- TCP/IP SOCKET HTTP之间的关系及各自特性
- JavaScript特性集合
- java集合特性
- C++ 11 新特性集合
- Java集合框架新特性
- java逻辑运算
- 实用的Window 尺寸 JavaScript 方案(涵盖所有浏览器)
- java新生代 与老生代
- C#调用HTTP接口
- udhcpc 和 udhcpd
- 集合各自特性
- OJ其他笔记
- BZOJ1037: [ZJOI2008]生日聚会Party
- 【Android N7.0】Framework层实现派发HOME按键到Application层的一种简单方案
- Java 之泛型通配符
- jin封装ffmpeg库遇到的问题汇总
- Android开源框架之XUtils3
- 微信小程序和野狗数据库结合
- Leetcode_Arranging Coins