java中的集合
数组的缺点引出集合的好处
- 数组有很多不足的地方
- 长度从一开始就必须指定的大小
- 元素的类型必须一致
- 使用数组的增删改查,代码比价多比较麻烦
集合的好处
- 可以动态的保存任意对象
- 提供了一系列的操作对象的方法。如:add() , set() , get()等
- 使用集合增删改查非常方便
Collection接口
- collection接口下有两个重要的字接口:1、List 2、set
- collection接口:主要存储的是单列集合,单列就是单个的对象
- 框架图: Iterable接口介绍:里面有一个foreach方法是增器for循环
- 所有实现collection接口的集合类都有一个iterator( )方法
- 迭代器遍历集合的步骤
-
Collection cll = new ArrayList<>(); cll.add("三国演义"); cll.add("水浒传"); cll.add("西游记"); cll.add("红柳梦"); cll.add("小李飞刀"); cll.add("李小龙"); Iterator iterator = cll.iterator();//得到集合的迭代器 while (iterator.hasNext()){//判断还有没有下一个元素,hasNext()是一个boolean值 Object next = iterator.next();//下移,将下移后集合位置上的元素返回 System.out.println(next);//输出 } } }
- 增强for循环
public class Assemble { public static void main(String[] args) { Collection cll = new ArrayList<>(); cll.add("三国演义"); cll.add("水浒传"); cll.add("西游记"); cll.add("红柳梦"); cll.add("小李飞刀"); cll.add("李小龙"); for (Object coo:cll){//增强for循环 System.out.println(coo); } } }
List接口
- List也是collection的字接口
- List集合类中元素有序(集添加和取出的顺序一样),且可重复
- List集合支持下标索引
Set接口
- Set接口是无序的,没有索引,取出顺序是不一致的,但他取出的顺序不会运行一次变一次,是固定的
- 不允许有重复的元素,只能有一个为null
Map接口
- Map用于保存具有映射关系的数据:key:value
- Map中的key不允许重复
- Map中的key和value可以是引用数据类型
- key可以为null,value也可以为null,但是key只能有一个null