集合框架(二)set

一、 HashSet哈希表存储、重复元素存储底层探究

我们首先要知道,
set集合中元素不可以重复;(只限对于字符串、八大基本数据类型)
set集合中的元素是无序的(存入和取出的顺序不一定一致)

1.如以下代码:

package com.huangzhiyao.set;import java.util.HashSet;
import java.util.Set;public class Text2 {public static void main(String[] args) {Set set=new HashSet<>();set.add("lm");set.add("qb");set.add("lm");set.add("xf");System.out.println(set.size());}}

运行结果:
在这里插入图片描述
由运行结果可以得知 set集合中元素不可以重复

2.再如以下代码:

package com.huangzhiyao.se't;import java.util.HashSet;
import java.util.Set;public class Text2 {public static void main(String[] args) {Set set=new HashSet<>();set.add(new Person("laomo", 18, 1500));set.add(new Person("dabai", 23, 500));set.add(new Person("xiaoxi", 19, 1200));set.add(new Person("goudan", 22, 2500));set.add(new Person("laomo", 18, 1500));//这里数据与第一条数据相同System.out.println(set.size());}}//定义Person类class Person{private String name;private int age;private int money;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 int getMoney() {return money;}public void setMoney(int money) {this.money = money;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + ", money=" + money + "]";}public Person(String name, int age, int money) {super();this.name = name;this.age = age;this.money = money;}public Person() {super();}}

由此运行后打印结果为5所以set重复只限于只限对于字符串、八大基本数据类型

3.再比如下面这个代码:

package com.huangzhiyao.set;import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;public class Text2 {
public static void main(String[] args) {Set set=new HashSet<>();set.add(new Person("laomo", 18, 1500));set.add(new Person("dabai", 23, 500));set.add(new Person("xiaoxi", 19, 1200));set.add(new Person("goudan", 22, 2500));set.add(new Person("laomo", 18, 1500));//这里数据与第一条数据相同Iterator it=set.iterator();//定义一个迭代器while(it.hasNext()) {System.out.println(it.next());}}
}
//定义Person类
class Person{
private String name;
private int age;
private int money;
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;
}
publi


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部