java集合
1有序可重复集合
*List接口和ArrayList、LinkedList、Vector类
*ArrayList类:封装了一个长度可变的数组对象,相当于数组的数据结构(查询速度快,增删效率低)
*LinkedList类:维护了一个双向链表,相当于链表的数据结构(增删效率高)
*Vector类:采用可变体积的数组实现List接口,但向量中不能存放基本数据与类型的数据,加入数据必须是对象
2非重复集合
*set接口和HashSet、TreeSet、ListedHashSet类
*HashSet类:储存不可重复元素并且都是无序的,添加对象时,首先会调用该对象的Hashcode()方法
来确定元素的储存位置,然后再调用equals()方法来判断是否有重复元素(重写这两个方法)
*TreeSet类:采用平衡的排序二叉树存储元素,可以对元素进行排序(必须实现Comparable接口,重写compareTo()方法)
3映射集合
*Map接口和HashMap、TreeMap、Hashtable类
*HashMap类:Map中的键必须唯一否则会被覆盖(键相同,值覆盖),线程不安全,存取元素速度快
*TreeMap类:与TreeSet相似,通过二叉树原理保证键的唯一性,如需排序(必须实现Comparable接口,重写compareTo()方法)
*Hashtable类:线程安全,存取速度慢。
版权声明:本文为qq_42964601原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。