• Java学习笔记(十七)


    在完成对C语言的学习后,我最近开始了对C++和Java的学习,目前跟着视频学习了一些语法,也跟着敲了一些代码,有了一定的掌握程度。现在将跟着视频做的笔记进行整理。本篇博客是整理Java知识点的第十七篇博客。

    本篇博客介绍了Java的集合体系和Collection集合。

    本系列博客所有Java代码都使用IntelliJ IDEA编译运行,版本为2022.1。所用JDK版本为JDK11

    目录

    集合的体系

    Collection集合

    Collection集合概述和使用

    Collection集合常用办法

    Collection集合的遍历

    Collection集合存储学生对象并遍历


    集合的体系

    集合分为单列的Collection和双列的Map。Map有HashMap等。Collection包括可重复的List和不可重复的Set。List包括ArrayListLinkedList等。Set包括HashSetTreeSet等。

    Collection集合

    Collection集合概述和使用

    Collection是单列集合的顶层接口,表示一组对象,这些对象也称为Collection的元素。JDK不提供此接口的任何直接实现,提供更具体的子接口实现,如Set和List。

    1. import java.util.ArrayList;
    2. import java.util.Collection;
    3. public class collection {
    4. public static void main(String[] args) {
    5. Collection test = new ArrayList();
    6. test.add("Hello ");
    7. test.add("world ");
    8. test.add("Hello ");
    9. test.add("Java");
    10. System.out.println(test);
    11. }
    12. }

    这段代码使用ArrayList实现。程序的输出是:

    [Hello , world     , Hello , Java]

    Collection集合常用办法

    boolean add(E e)将e添加至集合中。

    boolean remove(Object o)将o从集合中移出。

    void clear()清空集合。

    boolean contains(Object o)判断集合中是否存在o,存在为true,否则为false。

    boolean isEmpty()判断是否为空,是空则为true,否则为false。

    int size()求集合的长度,就是集合的元素个数,并将结果返回。

    1. import java.util.Collection;
    2. import java.util.ArrayList;
    3. public class collectmethod {
    4. public static void main(String[] args){
    5. Collection test = new ArrayList();
    6. System.out.println(test.isEmpty());
    7. test.add("Hello");
    8. test.add("World");
    9. System.out.println(test.isEmpty());
    10. System.out.println(test);
    11. System.out.println(test.remove("Java"));
    12. System.out.println(test);
    13. test.clear();
    14. System.out.println(test.isEmpty());
    15. test.add("Hello");
    16. test.add("Java");
    17. System.out.println(test.contains("Java"));
    18. System.out.println(test);
    19. System.out.println(test.remove("Hello"));
    20. System.out.println(test);
    21. System.out.println(test.contains("Hello"));
    22. System.out.println(test.size());
    23. }
    24. }

    程序的输出是:

    true
    false
    [Hello, World]
    false
    [Hello, World]
    true
    true
    [Hello, Java]
    true
    [Java]
    false
    1

    Collection集合的遍历

    Iterator是迭代器,是集合的专用遍历方式。使用迭代器需要导包:

    import java.util.Iterator

    迭代器的定义格式是 Iterator 名称,E是集合中元素的类型。

    迭代器通过集合的iterator()方法得到。

    迭代器的E next()方法返回迭代中的下一个元素。

    迭代器的boolean hasNext()判断迭代器是否有更多元素,有则返回true,否则为false。

    1. import java.util.Collection;
    2. import java.util.ArrayList;
    3. import java.util.Iterator;
    4. public class Iteratortest {
    5. public static void main(String[] args) {
    6. Collection c = new ArrayList();
    7. c.add("Hello ");
    8. c.add("World ");
    9. c.add("Java");
    10. Iterator it = c.iterator();
    11. while(it.hasNext()){
    12. String s = it.next();
    13. System.out.println(s);
    14. }
    15. }
    16. }

    程序使用迭代器遍历集合。程序的输出是:

    Hello 
    World 
    Java

    Collection集合存储学生对象并遍历

    1. public class student {
    2. private String name;
    3. private int age;
    4. public student(){}
    5. public student(String name,int age) {
    6. this.name = name;
    7. this.age = age;
    8. }
    9. public void setname(String name){
    10. this.name = name;
    11. }
    12. public String getname(){
    13. return name;
    14. }
    15. public void setage(int age){
    16. this.age = age;
    17. }
    18. public int getage(){
    19. return age;
    20. }
    21. }

    这是student类,本例中存储的类。

    1. import java.util.Iterator;
    2. import java.util.Collection;
    3. import java.util.ArrayList;
    4. public class studenttest {
    5. public static void main(String[] args){
    6. Collection test = new ArrayList();
    7. student s1 = new student("Kevin",30);
    8. student s2 = new student();
    9. s2.setname("Guillermo");
    10. s2.setage(25);
    11. student s3 = new student("Luis",27);
    12. test.add(s1);
    13. test.add(s2);
    14. test.add(s3);
    15. Iterator it = test.iterator();
    16. while(it.hasNext()){
    17. student temp = it.next();
    18. System.out.println("The name is " + temp.getname());
    19. System.out.println("The age is " + temp.getage());
    20. }
    21. }
    22. }

    程序使用集合存储学生类对象,并进行遍历。程序的输出是:

    The name is Kevin
    The age is 30
    The name is Guillermo
    The age is 25
    The name is Luis
    The age is 27

  • 相关阅读:
    行为型模式 - 访问者模式Visitor
    tomcat排错实战
    python+django体质测试数据分析及可视化设计
    学校智慧用电用智能空开
    ADC噪声全面分析 -02- ADC 噪声测量方法和相关参数
    c语言单元测试构建
    基于matlab的图像复原仿真GUI
    C#语法基础
    我在 vscode 插件里接入了 ChatGPT,解决了代码变量命名的难题
    【网络编程】IO模型
  • 原文地址:https://blog.csdn.net/m0_71007572/article/details/126365583