Java笔记——集合

1 Collection


Collection是其他类的父接口,是更广泛的类别,包含了所有集合类型,本身不提供实现,其他如List、Set等等都继承该类

<E>为泛型,表示该集合中存放的数据类型,注意必须是引用数据类型(如String),而不能是基本数据类型(如string)

Collection定义了一些基本的操作方法,比如添加元素 add(),删除元素remove(),检查集合是否为空isEmpty()等等,确保集合行为的一致性

初始化集合:

   Collection<String> collection = new ArrayList<>();

增加元素:

   collection.add("111");
   collection.add("222");
   System.out.println(collection);

删除数组中首个匹配到的元素:

   collection.remove("111");
   System.out.println(collection);

复制集合:

   Collection collection1 = new ArrayList<>(collection);
   System.out.println(Objects.equals(collection,collection1);

清空集合:

   collection.clear();

判断集合是否为空:

   System.out.println(collection.isEmpty());
   System.out.println(collection1.isEmpty());

获取集合内元素数量:

   System.out.println(collection1.size());

讲集合转换成数组:

我们可以使用Object[]:

     Object[] strings = collection1.toArray(new Object[0]);
     for(Object object2 : strings){
         System.out.println(object2);
     }

但不推荐这么做,我们往往需要确定的数据类型格式:

     String[] strings = collection1.toArray(new String[0]);
     for (String object2 : strings) {
         System.out.println(object2);
     }

2 List

List中的元素是有序的,并且可以存在重复元素

对于List部分,实际使用与Collection类似,不再赘述:

        ArrayList<String> arrayList = new ArrayList<>();
        //List基本方法
        //添加元素
        arrayList.add("丁真");
        arrayList.add("谷爱凌");
        arrayList.add("蔡徐坤");
        arrayList.add("吴亦凡");
        System.out.println(arrayList);
        //删除元素
        arrayList.remove(2);
        System.out.println(arrayList);
        //修改元素
        arrayList.set(0,"丁真珍珠");
        //查询元素
        System.out.println(arrayList.get(0));
        //获取列表大小
        System.out.println(arrayList.size());
        //克隆列表
        ArrayList<String> arrayList1 = (ArrayList<String>) arrayList.clone();
        System.out.println(arrayList1);
        //清空列表
        arrayList.clear();
        //检测是否为空
        System.out.println(arrayList.isEmpty());

运行结果:

[丁真, 丁真, 谷爱凌, 蔡徐坤, 吴亦凡]     //添加元素
[丁真, 丁真, 蔡徐坤, 吴亦凡]          //删除元素
丁真珍珠                        //修改元素
4                               //获取列表长度
[丁真珍珠, 丁真, 蔡徐坤, 吴亦凡]        //克隆列表
true                            //检测是否为空

3 Set

4 Map

5 Stream