【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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!