首页 > 其他分享 >28-集合(进阶版)

28-集合(进阶版)

时间:2024-01-24 16:46:20浏览次数:19  
标签:进阶 28 System println add Student 集合 new public

 单列集合:一次添加一个元素(Collection接口)

注意:这里的Collection接口,指的是List 和 Set接口所共有的方法

import java.util.ArrayList;
import java.util.Collection;

public class CollectionTest1 {
    public static void main(String[] args){
        // 使用多态的形式创建集合对象,调用集合中的共有方法:接口的引用指向实现类的对象
        // 左边是编译类型,右边是运行类型(左边的编译类型决定调用哪些属性和方法,右边的运行类型决定具体实现哪些内容)
        Collection<String> c = new ArrayList<>();

        // public boolean add(E e):把给定的对象添加到当前集合中
        c.add("张三");
        c.add("李四");
        System.out.println(c);

        // public boolean remove(E e):把给定的对象在当前集合中删除
        c.remove("李四");
        System.out.println(c);

        // public void clear():清空集合中所有的元素
        c.clear();
        System.out.println(c);

        // public boolean isEmpty():判断当前集合是否为空(这里只是判断集合中是否有元素,无法判断集合是否为null)
        System.out.println(c.isEmpty());

        // public boolean contains(E e):判断当前集合中是否包含给定的对象
        c.add("张三");
        c.add("李四");
        System.out.println(c.contains("张三"));

        // public int size():返回集合中元素的个数
        System.out.println(c.size());

    }
}

 

集合的通用遍历方式:迭代器、for循环、foreach方法

Student类

package domain;

public class Student {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Student(String name, int age){
        this.name = name;
        this.age = age;
    }
}

package collection;

import domain.Student;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class CollectionTest2 {
    public static void main(String[] args){

        Collection<Student> c = new ArrayList<>();

        c.add(new Student("张三", 23));
        c.add(new Student("李四", 24));
        c.add(new Student("王五", 25));

        // 1.迭代器遍历
        System.out.println("=================迭代器遍历==================");
        // Iterator<E> iterator():获取遍历集合的迭代器对象
        Iterator<Student> it = c.iterator();

        // boolean hasNext():判断集合中是否还有下一个元素
        while(it.hasNext()){
            // E next():获取集合中的下一个元素
            Student s = it.next();
            System.out.println(s.getName() + "," + s.getAge());
        }
    }
}

 

package collection;

import domain.Student;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionTest3 {
    public static void main(String[] args){
        Collection<Student> c = new ArrayList<>();

        c.add(new Student("张三", 23));
        c.add(new Student("李四", 24));
        c.add(new Student("王五", 25));

        // 2.增强for循环遍历
        System.out.println("=================增强for循环遍历==================");

        for(Student stu:c){
            System.out.println(stu.getName() + "," + stu.getAge());
        }
    }
}

package collection;

import domain.Student;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionTest4 {
    public static void main(String[] args){
        Collection<Student> c = new ArrayList<>();

        c.add(new Student("张三", 23));
        c.add(new Student("李四", 24));
        c.add(new Student("王五", 25));

        // 3.foreach循环遍历
        System.out.println("=================foreach循环遍历==================");

        c.forEach(stu -> System.out.println(stu.getName() + "," + stu.getAge()));
    }
}

 

 

 

 

 

 

标签:进阶,28,System,println,add,Student,集合,new,public
From: https://www.cnblogs.com/REN-Murphy/p/17984708

相关文章

  • C# Switch 语句进阶:模式匹配详解与实例演示
     在C#中,switch语句的模式匹配在C#7.0及以上版本中引入。以下是switch语句中常见的模式及其使用方法的示例:1.类型模式:优点: 用于检查对象的运行时类型,使代码更具可读性。publicstaticstringGetObjectType(objectobj){switch(obj){caseinti:......
  • linux进阶之nmtui和nmcli配置网络
    CentOS7配置网络推荐使用NetworkManager服务(不推荐network服务)。图形化方式:nmtui或Applications->SystemTools->Settings->Network命令方式:->IPv4寻址方式 [X]Automaticallyconnect->默认->自动连接->ONBOOT=yes [X]Availabletoallusers->默认->所有用户均可使用......
  • java8找出两个集合List<Employee> 中 id相同的元素,再将别的属性合并,放在新的集合里面
    可以使用Java8的StreamAPI来实现这个需求。具体步骤如下:1.创建一个新的集合,用于存放合并后的元素。2.使用Stream的filter()方法过滤出id相同的元素。3.使用Stream的map()方法将id相同的元素合并成一个新的元素,其中别的属性可以通过自定义的合并规则来实现。4.使用Stream的c......
  • 2024寒假集训 进阶训练赛 (六)部分题解
    A统计单词数题解注意是否是单词。CODECPP#include<iostream>#include<string>#include<algorithm>usingnamespacestd;intmain(){stringword,article;getline(cin,word);getline(cin,article);//转换为小写字母transform(word.beg......
  • 遍历删除集合元素
    1publicclassTest{2publicstaticvoidmain(String[]args){3List<String>list=newArrayList<>();4list.add("张三");5list.add("张三");6list.add("李四");7......
  • 19_Java流程控制01-Scanner进阶使用
    Scanner进阶使用整数:hasNextInt()——nextInt()小数:hasNextFloat()——nextFloat()if:判断语句while:循环语句练习:循环输入,求和与平均数,回车确认,非数字结束指令并输出结果。Scannerscanner=newScanner(System.in);//开始doublesum=0;intm=0;System.out.println("请输......
  • 板子集合
    tarjan点击查看代码//缩点voidtarjan(intu){dfn[u]=low[u]=++t;s[++top]=u;vis[u]=1;for(inti=0;i<g[u].size();++i){intv=g[u][i];if(!dfn[v]){tarjan(v);low[u]=min(low[u],low[v]);}elseif(vis[v])low[u]=......
  • 哈希学习笔记+杂题(进阶1 字符串哈希)
    哈希杂题前言:竟然下雪了,但是天是灰蒙蒙的。一、哈希学习笔记+杂题(进阶1字符串哈希)相关题单:戳我字符串哈希因为是一种玄学做法,所以具有极强的延展性。所以再碰到字符串的题时,抛开马拉车,kmp,字典树,AC自动机,SA&SAM,先想一下哈希的做法,如果时间复杂度允许,那就可以直接上哈希(虽然你......
  • 哈希学习笔记+杂题(进阶1 字符串哈希)
    哈希杂题前言:竟然下雪了,但是天是灰蒙蒙的。一、哈希学习笔记+杂题(进阶1字符串哈希)相关题单:戳我字符串哈希因为是一种玄学做法,所以具有极强的延展性。所以再碰到字符串的题时,抛开马拉车,kmp,字典树,AC自动机,SA&SAM,先想一下哈希的做法,如果时间复杂度允许,那就可以直接上哈希(虽然你......
  • 代码随想录 day28 复原IP地址 子集 子集II
    复原IP地址本题确实比较有难度主要很难一开始就发现切入点虽然被提示了和切割字符串很像还是看了题解回溯部分重点就是怎么去切割这个ip地址这里注意要尝试每个位置都去加'.'去分割后面会回溯由于是ip地址也就是提示了是四段式并且利用isValid去判断是否合法还有一些......