[Set集合] -案例
1、集合框架Set(HashSet哈希表存储、重复元素存储底层探究)
代码:
/**
* 1.set集合不能存放重复元素的问题
* 不能存放重复元素
* set集合中的元素是无序的
* 2.HashSet哈希表存储,重复元素存储底层探究
* list.contains 底层调用了equals方法
* set.add 底层调用了hashcode/equals
重点:举了案列如何排除是同一个人(当该同学的名字和年龄相同时)?Hashset
思路:hashcode和equal来双重判断。(先判断主要条件,再判断次要条件
)
* @author wxm
*
*/
public class SetDemo {
public static void main(String[] args) {
//List list=new ArrayList<>();
Set set=new HashSet<>();
// set.add("wangting1");
// set.add("wangting2");
// set.add("wangting3");
// set.add("wangting");
// set.add("wangting");
//
// //对象
// set.add(new person("wanting", 1,1000));
// set.add(new person("wanting1", 1,9000));
// set.add(new person("wanting2", 1,800));
// set.add(new person("wanting3", 1,1890));
// set.add(new person("wanting", 1,500));
//System.out.println( "list-"+list.size());5
System.out.println("set的长度"+set.size());
Iterator it=set.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
}
//}
//class person{
// String name;
// int age;
// 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 person(String name, int age, int money) {
// this.name = name;
// this.age = age;
// this.money = money;
// }
// public person() {
// super();
// }
// public int getMoney() {
// return money;
// }
// public void setMoney(int money) {
// t