【java】集合

2023-12-13 18:13:03

一、ArrayList

在使用的时候类似创建了一个数组,因此效率较低

在类里面要重写toString()方法? name和age分别是String型和int型

  public String toString(){
        return "姓名:"+name+" age:"+age;

    }

使用之前要导入库

import java.util.ArrayList;

在main里面使用创建ArrayList对象list,通过对象调用方法add(Object e)添加元素

 ArrayList<Student> array=new ArrayList<>();

        Student s1=new Student("张三",20);
        Student s2=new Student("李四",21);
        array.add(s1);
        array.add(s2);
        System.out.println(array);

二、Iterator接口

1、Iterator接口主要用于迭代访问

Iterator遍历集合:

在函数之前导入库

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

在main里面使用创建ArrayList对象list,获取Iterator对象 判断集合下一个元素,取出元素

2、foreach遍历循环

三、Set接口

Set接口中的元素是无序 唯一,无索引

1、HashSet

equals()方法确保该位置没有重复元素

在类里面,重写了equals后,如果传入的值有相同的,则哈希值相同,但是地址不一样,去掉重复的元素

在IdealJAVA中,可在代码->生成->hashcode,选择出现的equals,进行方法重写

   public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return age == student.age && Objects.equals(name, student.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }

在实现类里面,先要导入头文件

import java.util.HashSet;

在实现类里面传入重复值,==即判断两个对象是否相等

创建了一个HashSet集合hs

   HashSet<Student> hs=new HashSet<>();

        Student s1=new Student("张三",20);
        Student s2=new Student("李四",21);
        Student s3=new Student("李四",21);

        System.out.println(s1.hashCode());
        System.out.println(s2.hashCode());
        System.out.println(s3.hashCode());

        System.out.println(s3==s2);

        hs.add(s1);
        hs.add(s2);
        hs.add(s3);

文章来源:https://blog.csdn.net/m0_74319211/article/details/134878432
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。