您的位置:首页 > 编程语言 > Java开发

Java中的collection集合概述

2019-05-06 02:20 246 查看

集合的概述

Java数组的长度是固定的,为了使程序能够方便地存储和操作数目不固定的一组数据,JDK类库提供了Java集合,这些集合类都位于java.util包中,但是与数组不同的是,集合中不能存放基本类型数据,而只能存放对象的引用。
Java集合主要分为以下三种类型:

  • Set(集):集合中的对象不按特定方式排序,且没有重复对象。它的有些实现类能对集合中的对象按照特地方式排序。
  • List(列表):集合中的对象按照索引位置排序,可以有重复对象,允许使用索引检索对象。
  • Map(映射):集合中的每一个元素都包含一对键对象和值对象(key-value),集合中的键对象是不能重复的,它的一些实现类能对集合中的键对象进行排序。
  • collection集合的继承关系图:

数组和集合的区别

  1. 长度区别:
    数组的长度是固定的而集合的长度是可变的
  2. 存储数据类型的区别:
    数组可以存储基本数据类型 , 也可以存储引用数据类型; 而集合只能存储引用数据类型
  3. 内容区别:
    数组只能存储同种数据类型的元素 ,集合可以存储不同类型的元素

集合功能的简述

  1. 添加功能
  • boolean add(Object obj):添加一个元素
  • boolean addAll(Collection c):添加一个集合的元素 (给一个集合添加进另一个集合中的所有元素)
  1. 删除功能
  • void clear():移除所有元素
  • boolean remove(Object o):移除一个元素
  • boolean removeAll(Collection c):移除一个集合的元素(移除一个以上返回的就是true) 删除的元素是两个集合的交集元素
    如果没有交集元素 则删除失败 返回false
  1. 判断功能
  • 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():判断集合是否为空
  1. 长度功能
    - int size():元素的个数
  2. 获取功能
  • 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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: