java中的集合
Collection接口:
一个独立的元素的序列,这些元素服从一条或多条规则
Collection接口下主要分为List集合和Set集合
List集合的特点是元素有序、允许有重复元素
ArrayList:底层数组实现,查找块,增删慢,线程不安全
Vector:与ArrayList基本一致,线程安全
LinkedList:底层链表实现,增删块,查找慢,
Set集合的特点是元素无序、不允许有重复元素,通过存入对象的equals方法来保证集合中没有重复元素
HashSet:使用哈希算法保证没有重复元素
在add方法中,首先调用对象的hashCode方法计算哈希值,折小作为位置号,如果该位置空着直接存进去
如果有元素了,需要和该位置元素一一进行equals比较,返回结果都为false才存进去,否则不存
很高效
TreeSet:通过二叉树的原理保证无重复元素,并对元素进行排序
排序两种方式:
1 按元素的自然顺序,向集合中存入的对象实现comparable接口的compareTo方法
2 在创建TreeSet对象时,实现一个比较器,comparator接口的compare方法
如果两种方式都使用的情况下,比较器具有较高的优先级
Map接口:
一组成对的键值对,允许根据键来查找值
HashMap:线程不安全,存取速度快,允许null键,null值
通过HashSet原理保证键的唯一性
HashTable:线程安全,存取速度慢,不允许null键,null值
TreeMap:通过二叉树算法保证键的唯一性
对键进行排序,排序原理和TreeSet原理一致
Properties:
HashTable的子类,所以也是线程安全的
用于读写配置文件,一般配置两边都是string
只能存string,不需要泛型
Iterable接口:
实现增强父循环

浙公网安备 33010602011771号