Java集合分为单列集合和双列集合 单列集合:Collection 双列集合: Map
List继承Collection接口 List集合允许出现重复元素
List集合特点:元素有序性 即元素的存入顺序和取出顺序一致
ArrayList集合在ArrayList内部封装了一个长度可变的数组对象
ArrayList集合特点只有使用一个数组来保存元素所以在增加或删除指定位置的元素是都会创建一个新的数组 因此ArrayList集合在增加或删除元素的时候效率比较低 在进行索引元素时效率比较高
LinkedList集合 集合元素可重复且有序
LinkedList集合内部维护了一个双向循环链表 ,双向循环链表中的每一个元素都使用了引用的方式来记住它的前一个元素和后一个元素 从而可以将所有的元素彼此连接起来 当删除和增加只需要修改元素之间的引用关系
LinkedList集合具有新增和删除效率高的特点
Iterator 接口 Iterator对象也称为迭代器
hasNext()方法判断集合中是否存在下一个元素,如果存在则调用Next()将元素取出
在迭代器中获取元素时元素类型都是Object类型
Set接口 Set中的元素不出现重复
Set接口主要实现两个类HashSet和TreeSet其中HashSet是根据对象的散列值来确定元素在元素中的存储位置,具有良好的存取和查找性能 ,TreeSet则是以二叉树的方法来存储元素 它可以实现对集合中的元素进行排序
HashSet集合
为保证HashSet正常工作,要求在存入对象时重写hashCode()和equals()方法
hashCode()方法获得对象的 (散列值) (散列值)可以来计算存储位置
equals()对元素进行比较
HashSet集合存储的元素为无序的如果想存取顺序一致则可以使用LinkedHashSet
TreeSet集合 元素可进行排序 元素不可重复
Comparable接口强行对实现它的每个类的对象进行整体排序称为类的自然排序
comparaTo()方法称为自然比较方法 当comparaTo()方法返回值为0时集合只有一个元素,返回值为正数时集合会正常存储,返回值为负数时集合会倒序存储
如果只重写compare()方法则为比较器排序
Map接口是一种双列集合,Map集合中的每一个元素都包含一个键对象Key和一个值对象Value,键与值之间为映射关系
Map中的键是唯一的如果存储了相同的键后存储的值会被覆盖原有的值
HashMap集合
Set (名称) = map.KeySet()获得存储在Map中所有键的Set集合 , entrySet()方法获得存储在Map中的所有映射的Set集合在这个集合中存放了Map.Entry()类型的元素(Entry是Map内部接口)
每一个Map.Entry对象代表Map中的键值对在获得每一个映射对象后可以用getKey()和getValue()方法获取键和值
containsKey()方法用于判断是否包含传入的键
containsValue()方法用于判断是否包含传入的值
remore()方法用于根据Key删除Map中的与该Key对应的Value
Values()方法获取包含Map中所有值的Collection集合
TreeMap集合 对集合中的元素键值进行排序 与TreeSet差不多
properties集合主要用于来存储字符串类型的键值对,在实际开发中经常用properties集合来存取应用的配置项
setproperties()方法用于将配置的键与值添加到properties集合中
properName()方法得到一个包含所有键的Enumeration对象
getproperties()方法获得键所对应的值