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());
    }
  }
}
相关文章
|
18天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
67 4
|
22天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
63 2
|
24天前
|
Java Spring
JAVA获取重定向地址URL的两种方法
【10月更文挑战第17天】本文介绍了两种在Java中获取HTTP响应头中的Location字段的方法:一种是使用HttpURLConnection,另一种是使用Spring的RestTemplate。通过设置连接超时和禁用自动重定向,确保请求按预期执行。此外,还提供了一个自定义的`NoRedirectSimpleClientHttpRequestFactory`类,用于禁用RestTemplate的自动重定向功能。
|
6月前
|
存储 安全 Java
java集合框架及其特点(List、Set、Queue、Map)
java集合框架及其特点(List、Set、Queue、Map)
|
3月前
|
存储 安全 Java
【Java集合类面试二十五】、有哪些线程安全的List?
线程安全的List包括Vector、Collections.SynchronizedList和CopyOnWriteArrayList,其中CopyOnWriteArrayList通过复制底层数组实现写操作,提供了最优的线程安全性能。
|
3月前
|
Java
【Java集合类面试二十三】、List和Set有什么区别?
List和Set的主要区别在于List是一个有序且允许元素重复的集合,而Set是一个无序且元素不重复的集合。
|
1月前
|
安全 Java 程序员
深入Java集合框架:解密List的Fail-Fast与Fail-Safe机制
本文介绍了 Java 中 List 的遍历和删除操作,重点讨论了快速失败(fail-fast)和安全失败(fail-safe)机制。通过普通 for 循环、迭代器和 foreach 循环的对比,详细解释了各种方法的优缺点及适用场景,特别是在多线程环境下的表现。最后推荐了适合高并发场景的 fail-safe 容器,如 CopyOnWriteArrayList 和 ConcurrentHashMap。
58 5
|
6月前
|
Java 程序员
Java集合框架:List、Set、Map类型及泛型详解
Java集合框架:List、Set、Map类型及泛型详解
100 0
|
3月前
|
存储 安全 Java
java集合框架复习----(2)List
这篇文章是关于Java集合框架中List集合的详细复习,包括List的特点、常用方法、迭代器的使用,以及ArrayList、Vector和LinkedList三种实现类的比较和泛型在Java中的使用示例。
java集合框架复习----(2)List
|
3月前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
下一篇
无影云桌面