Java——集合中的Collection接口通过ArrayList类实现一些常用的方法

简介: Java——集合中的Collection接口通过ArrayList类实现一些常用的方法

任何复杂的知识往往给人的感觉都是那么的不友好,所以,一定要静下心来,耐心去看、去读、去理解这些东西!!!

1.为什么要学习集合


我们都知道,在 Java 语言中,数组可以保存多个对象,但是如果在无法确定需要保存多少个对象的时候,数组将不再适用,因为数组的长度是不可变的。


例如,要保存一个学校的学生信息,由于不停的有新生来报道,同时也会有学生毕业离开学校,这个时候学生的数目无法固定,并且随时可能变动。为了保存这些数目不确定的对象,Java 语言中提供了集合,集合可以存储任意类型的对象,并且长度可变。


定义:Java 中的集合就像一个容器,专门用来存储 Java 对象。


说明:集合对象可以是任意数据类型,并且长度可变。


注意:这些集合都位于 java.util 包中,在使用集合的时候,一定要注意导包的问题。  


2.集合的分类


对于上面这张图,在集合中,Collection、List、Set和Map都是接口,其中 List 接口和 Set 接口继承了 Collection 接口。而剩下的都是实现类。


3.Collection接口的常用方法


 

4.应用举例


import java.util.*;
/*import java.util.Collection;
  import java.util.ArrayList;
  import java.util.Iterator;*/
public class CollectionDemo {
  public static void main(String[] args) {
    Collection<String> collection=new ArrayList<String>();
    //创建一个集合collection,通过ArrayList类去实现Collection接口中的方法
    //尖括号<>表示的是泛型,在这里限定操作的数据类型为String
    Collection<String> inter=new ArrayList<String>();
    System.out.println("↓↓↓Collection集合常用方法如下↓↓↓");
    System.out.println("---------------------------------------------");
    System.out.println("创建第一个空的Collection集合,元素类型为String类:" + collection);
    System.out.println("创建第二个空的Collection集合,元素类型为String类:" + inter);
    System.out.println("---------------------------------------------");
    collection.add("C");
    collection.add("C++");
    collection.add("Java");
    collection.add("Python");
    inter.add("ABCD");
    inter.addAll(collection);
    System.out.println("向collection集合中添加4个元素:" + collection);
    System.out.println("向inter集合中添加一个元素:" + inter);
    System.out.println("将collection集合中的所有元素添加到inter集合中:" + inter);
    System.out.println("---------------------------------------------");
    inter.removeAll(collection);
    System.out.println("将inter集合中包含collection集合中的所有元素删除:" + inter);
    collection.remove("C++");
    System.out.println("将collection集合中的元素\"C++\"移除:" + collection);
    System.out.println("---------------------------------------------");
    System.out.println("collection集合中是否包含元素\"Java\":" + collection.contains("Java"));
    System.out.println("inter集合中是否包含collection集合中的所有元素:" + inter.containsAll(collection));
    System.out.println("---------------------------------------------");
    System.out.println("此时collection集合的元素个数为:" + collection.size());
    System.out.println("---------------------------------------------");
    System.out.println("此时collection集合是否为空:" + collection.isEmpty());
    System.out.println("---------------------------------------------");
    Object[] obj=collection.toArray();
    System.out.print("将collection集合转为数组,并将元素存入数组中:");
    for(Object a : obj) {
      System.out.print(a + " ");
    }
    System.out.println();
    System.out.println("---------------------------------------------");
    collection.clear();
    System.out.println("清空collection集合中的所有元素:" + collection);
    System.out.println("---------------------------------------------");
    //第一步:使用集合中的iterator()方法,获取送代器的实现类对象
                //第二步:使用Iterator接口接收(多态)
    Iterator<String> stringiterator=inter.iterator();
    while(stringiterator.hasNext()) {
    /*第三步:使用Iterator接口中的hasNext()方法来判断集合中还有没有下一个元素
      如果有下一个元素,那么就调用Iterator接口的next()方法,取出下一个元素,并且会把指针向后移一位
      第四步:使用Iterator接口中的next()方法来取出集合中的下一个元素
      以此类推,直到hasNext()方法返回false,表示到达了集合的末尾终止对元素的遍历*/
      System.out.print(stringiterator.next());
    }
  }
}
相关文章
|
1天前
|
Java 编译器
Java Character 类
4月更文挑战第13天
|
2天前
|
存储 Java
Java基础教程(7)-Java中的面向对象和类
【4月更文挑战第7天】Java是面向对象编程(OOP)语言,强调将事务抽象成对象。面向对象与面向过程的区别在于,前者通过对象间的交互解决问题,后者按步骤顺序执行。类是对象的模板,对象是类的实例。创建类使用`class`关键字,对象通过`new`运算符动态分配内存。方法包括构造函数和一般方法,构造函数用于对象初始化,一般方法处理逻辑。方法可以有0个或多个参数,可变参数用`类型...`定义。`this`关键字用于访问当前对象的属性。
|
6天前
|
Java Shell
Java 21颠覆传统:未命名类与实例Main方法的编码变革
Java 21颠覆传统:未命名类与实例Main方法的编码变革
10 0
|
6天前
|
Java
Java 15 神秘登场:隐藏类解析未知领域
Java 15 神秘登场:隐藏类解析未知领域
10 0
|
6天前
|
存储 Java 编译器
Java集合丛林:深入了解集合框架的秘密
Java集合丛林:深入了解集合框架的秘密
11 0
Java集合丛林:深入了解集合框架的秘密
|
8天前
|
安全 Java
append在Java中是哪个类下的方法
append在Java中是哪个类下的方法
21 9
|
7月前
|
Java
Java接口和抽象类
Java接口和抽象类
51 0
|
1月前
|
设计模式 搜索推荐 Java
java接口和抽象类的区别,以及使用选择
java接口和抽象类的区别,以及使用选择
25 0
|
2天前
|
设计模式 Java
Java接口与抽象类
Java接口与抽象类
14 0
|
1月前
|
Java
Java面向对象程序设计5接口与抽象类
Java面向对象程序设计5接口与抽象类
24 0