Java中的collection集合概述
2019-05-06 02:20
246 查看
集合的概述
Java数组的长度是固定的,为了使程序能够方便地存储和操作数目不固定的一组数据,JDK类库提供了Java集合,这些集合类都位于java.util包中,但是与数组不同的是,集合中不能存放基本类型数据,而只能存放对象的引用。
Java集合主要分为以下三种类型:
- Set(集):集合中的对象不按特定方式排序,且没有重复对象。它的有些实现类能对集合中的对象按照特地方式排序。
- List(列表):集合中的对象按照索引位置排序,可以有重复对象,允许使用索引检索对象。
- Map(映射):集合中的每一个元素都包含一对键对象和值对象(key-value),集合中的键对象是不能重复的,它的一些实现类能对集合中的键对象进行排序。
- collection集合的继承关系图:
数组和集合的区别
- 长度区别:
数组的长度是固定的而集合的长度是可变的 - 存储数据类型的区别:
数组可以存储基本数据类型 , 也可以存储引用数据类型; 而集合只能存储引用数据类型 - 内容区别:
数组只能存储同种数据类型的元素 ,集合可以存储不同类型的元素
集合功能的简述
- 添加功能
- boolean add(Object obj):添加一个元素
- boolean addAll(Collection c):添加一个集合的元素 (给一个集合添加进另一个集合中的所有元素)
- 删除功能
- void clear():移除所有元素
- boolean remove(Object o):移除一个元素
- boolean removeAll(Collection c):移除一个集合的元素(移除一个以上返回的就是true) 删除的元素是两个集合的交集元素
如果没有交集元素 则删除失败 返回false
- 判断功能
- boolean contains(Object o):判断集合中是否包含指定的元素
- boolean containsAll(Collection c):判断集合中是否包含指定的集合元素(这个集合 包含 另一个集合中所有的元素才算包含 才返回true)
比如:1,2,3 containsAll 1,2=true 1,2,3 containsAll 2,3,4=false - boolean isEmpty():判断集合是否为空
- 长度功能
- int size():元素的个数 - 获取功能
- Iterator iterator()
集合的遍历
1.使用迭代器遍历
public static void main(String[] args) { Collection collection = new ArrayList(); //集合只能存引用数据类型 collection.add(10); collection.add(Integer.valueOf(100)); collection.add(30); collection.add(40); collection.add(50); collection.add(60); //遍历集合中的元素 //获取一个迭代器 // 对 collection 进行迭代的迭代器 // boolean hasNext () // 如果仍有元素可以迭代,则返回 true。 // E next () // 返回迭代的下一个元素。 // void remove () // 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。 Iterator iterator = collection.iterator(); // System.out.println(iterator); // ArrayList$Itr Itr 是一个内部类实现了迭代器 Object next1 = iterator.next();//让迭代器下移 System.out.println("--------------------"); while (iterator.hasNext()) { Object next = iterator.next(); System.out.println(next); } }
2.将集合转化为数组进行遍历
public static void main(String[] args) { Collection aList = new ArrayList(); aList.add(1); aList.add(15); aList.add(16); aList.add(14); aList.add(17); aList.add(188); aList.add(1111); aList.add(1544); aList.add(1111); aList.add(1544); ////创建一个数组 //Integer[] arr = new Integer[aList.size()]; //int index = 0; //Iterator iterator = aList.iterator(); //while (iterator.hasNext()) { // Object obj = iterator.next(); // Integer integer = (Integer) obj; // arr[index] = integer; // index++; //} // //System.out.println(Arrays.toString(arr)); //将一个集合转换成数组 Object[] objects = aList.toArray(); for (int i = 0; i < objects.length; i++) { Integer num= (Integer) objects[i]; System.out.println(num); } }
相关文章推荐
- Java Collection Framework 之集合概述
- 黑马程序员——JAVA基础——集合---概述、Collection中共性方法、List、Map、工具类Collections和Arrays
- 关于java集合框架collection概述
- Java中Collection集合概述
- Collection 集合框架 体系概述 java
- 【我的Java笔记】Collection集合的概述 & List
- Java集合概述集Collection 和 Iterator 接口用法详解
- Java基础知识强化之集合框架笔记03:Collection集合的功能概述
- Java基础知识强化之集合框架笔记68:Collections类概述和成员方法(备注:Collection 和 Collections区别)
- java 集合-概述
- 黑马程序员——Java集合之Collection
- Java 集合系列02之 Collection架构
- java 集合-Collection
- java集合Collection、List、map、ConcurrentHashMap讲解
- java 集合框架 Collection(List,Set) 与 Map 小结
- 黑马程序员java基础知识之集合Collection
- 黑马程序员——Java语言基础——06.集合框架(1)集合框架概述和List、Set集合
- Java基础知识强化之集合框架笔记06:Collection集合存储自定义对象并遍历的案例
- java 集合学习笔记1-Collection 集合遍历 List子类特点
- Java集合----概述、Collection接口、Iterator接口