• Java集合之Collection


    概述:

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

    创建Collection集合的对象

    - 多态的方式
    - 具体的实现类ArrayList

    1 public class Demo1 {
    2     public static void main(String[] args) {
    3         Collection<String> list = new ArrayList<>();
    4         list.add("hello");
    5         list.add("world");
    6         list.add("java");
    7         System.out.println(list);
    8     }
    9 }
    集合的常用方法:

    注:add方法永远返回true

     1 public class Demo2 {
     2     public static void main(String[] args) {
     3         Collection<String> c = new ArrayList<String>();
     4         c.add("hello");
     5         c.add("world");
     6         c.add("java");
     7         System.out.println(c.remove("java"));
     8         c.remove("javaee");
     9         System.out.println(c.contains("hello"));
    10         System.out.println(c.isEmpty());
    11         System.out.println(c.size());
    12         c.clear();
    13         System.out.println(c);
    14     }
    15 }
    Collection集合的遍历

    Iterator:迭代器,集合的专用遍历方式

    • Iterator<E> iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到

    • 迭代器是通过集合的iterator()方法得到的,所以我们是他是依赖于集合而存在的

    Iterator中的常用方法

    • E next():返回迭代中的下一个元素

    • boolean hasNext():如果迭代具有更多元素,则返回true

     1 public class IteratorTest {
     2     public static void main(String[] args) {
     3         Collection<String> c = new ArrayList<String>();
     4         c.add("hello");
     5         c.add("world");
     6         c.add("java");
     7 
     8         Iterator<String> it = c.iterator();
     9 //        String s = it.next();
    10 //        System.out.println(s);
    11         while (it.hasNext()){
    12             String s1 = it.next();
    13             System.out.println(s1);
    14         }
    15     }
    16 }
    练习:存储3个学生并遍历
     1 //学生类
     2 public class Student {
     3     private String name;
     4     private int age;
     5 
     6     public Student(String name, int age) {
     7         this.name = name;
     8         this.age = age;
     9     }
    10 
    11     public Student() {
    12     }
    13 
    14     public String getName() {
    15         return name;
    16     }
    17 
    18     public void setName(String name) {
    19         this.name = name;
    20     }
    21 
    22     public int getAge() {
    23         return age;
    24     }
    25 
    26     public void setAge(int age) {
    27         this.age = age;
    28     }
    29 
    30     public void show() {
    31         System.out.println("学生的姓名:" + name + "   学生的年龄:" + age);
    32     }
    33 }
    34 
    35 
    36 //测试类
    37 public class CollectionTest {
    38     public static void main(String[] args) {
    39         Scanner sc1 = new Scanner(System.in);
    40         System.out.println("请输入要添加学生的数目:");
    41         int num = sc1.nextInt();
    42         Collection<Student> students = addStudent(num);
    43         System.out.println(students);
    44         bianli(students);
    45     }
    46     //添加学生对象,2个明确:参数:输入要添加的学生个数;返回值:返回collection集合?
    47     public static Collection<Student> addStudent(int num){
    48         Collection<Student> students = new ArrayList<>();
    49         Scanner sc = new Scanner(System.in);
    50         for(int i = 0;i<num;i++){
    51             System.out.println("请输入添加的学生的姓名:");
    52             String name = sc.nextLine();
    53             System.out.println("请输入添加的学生的年龄:");
    54             int age = sc.nextInt();
    55             Student s = new Student(name, age);
    56             students.add(s);
    57         }
    58         return students;
    59     }
    60 
    61     //遍历学生的collection集合,2个明确:参数,传入collection;返回值:不需要
    62     public static void bianli(Collection<Student> s){
    63         Iterator<Student> iterator = s.iterator();
    64         while (iterator.hasNext()){
    65             Student student = iterator.next();
    66             student.show();
    67         }
    68     }
    69 }
  • 相关阅读:
    JVM 垃圾回收 Minor gc vs Major gc vs Full gc
    CMS垃圾回收与G1垃圾回收
    使用Mat分析大堆信息
    Java线程池--ThreadPoolExecutor
    IOC容器初始化过程
    linux 下查mac
    logstash之multiline插件,匹配多行日志
    logstash json和rubydebug 第次重启logstash都会把所有的日志读完 而不是只读入新输入的内容
    快速定位关键字所在日志的行号 查看特定行以下的内容
    redis 常用命令
  • 原文地址:https://www.cnblogs.com/jiliangqian/p/15180769.html
Copyright © 2020-2023  润新知