第十四节:集合类
集合类是用于专门存储java类的对象,类似容器
集合按照存储结构分为两大类:单列集合(collection)和双列集合(Map)
Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,包含子接口:List和Set。
List的特点是元素有序,可重复。其实现类为:ArrayList和LinkedList
Set的特点是元素无序,而且不可重复。其实现类为:HashSet和TreeSet
Map:双列集合类的根接口,用于存储具有键,值映射关系的元素。每个元素都包含一对键值,其实现类为:HashMap和TreeMap

单列集合的方法
根方法----collection方法

list接口独有方法(除含有根方法以外自己独有的方法)

ArrayList集合的底层是使用一个数组来保存元素的,在增加或删除指定位置的元素时,会导致创建新的数组,效率比较低,因此不适合做大量的增删操作。但这种数组的结构允许程序通过索引的方式来访问元素,因此使用ArrayList集合查找元素很便捷。
LinkedList集合对于元素的增删操作具有很高的效率
该集合内部维护了一个双向循环链表,链表中的每一个元素都使用引用的方式来记住它的前一个元素和后一个元素,从而可以将所有的元素彼此连接起来。当插入一个新元素时,只需要修改元素之间的这种引用关系即可,删除一个节点也是如此
针对元素的增删操作,LinkedList集合定义了一些特有的方法

迭代集合——Iterator/foreach
主要用于迭代访问Collection中的元素。因此Iterator也称为迭代器
实际使用示例:

原理:
当遍历元素时,首先通过调用 ArrayList集合的iterator()方法获得迭代器对象,然后使用hasNext()方法判断集合中是否存在下一个元素,如果存在,则调用next()方法将元素取出;否则说明已到达了集合末尾,停止遍历元素
foreach
foreach循环是一种更加简洁的for循环,也称增强for循环。foreach循环用于遍历数组或集合中的元素
语法格式:

示例:

Set接口
Set接口的方法与Collection的方法一致,没有进行扩展
Set接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。
Set接口主要有两个实现类,分别是HashSet和TreeSet。
HashSet:根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能。
TreeSet:则是以二叉树的方式来存储元素,它可以实现对集合中的元素进行排序
Map接口
Map 接口是一种双列集合,它的每个元素都包含一个键对象 Key 和值对象 Value,键和值对象之间存在一种对应关系,称为映射
从Map集合中访问元素时,只要指定了Key,就能找到对应的Value。
Map接口常用的方法

put(Object key, Object value)和get(Object key)方法分别用于向 Map 中存入元素和取出元素;
containsKey(Object key)和containsValue(Object value)方法分别用于判断Map中是否包含某个指定的键或值;
keySet()和values()方法分别用于获取Map中所有的键和值
Properties集合
Properties主要用来存储字符串类型的键和值,使用Properties集合来存取应用的配置项

针对字符串的存取提供了两个专用的方法:setProperty()和getProperty()。
setProperty()方法用于将配置项的键和值添加到Properties集合当中。通过调用Properties的propertyNames()方法得到一个包含所有键的Enumeration对象,然后在遍历所有的键时,通过调用getProperty()方法获得键所对应的值。
浙公网安备 33010602011771号