这里写目录标题
集合
一、Java集合概述
1、Java集合类存放于 java.util 包中,是一个用来存放对象的容器。
2、集合只能存放对象。比如你存一个 int 型数据 1放入集合中,其实它是自动转换成 Integer 类后存入的,Java中每一种基本类型都有对应的引用类型。
3、集合存放的是多个对象的引用,对象本身还是放在堆内存中。
4、集合可以存放不同类型,不限数量的数据类型。
二、HashSet集合
1、特点
1、不能保证元素的排列顺序
2、不可重复
3、HashSet 不是线程安全的
4、集合元素可以使 null
注意:
1、当向 HashSet 集合中存入一个元素时,HashSet 会调用该对象的 hashCode() 方法来得到该对象的 hashCode 值,然后根据 hashCode 值决定该对象在 HashSet 中的存储位置。
2、如果两个元素的 equals() 方法返回 true,但它们的 hashCode() 返回值不相等,hashSet 将会把它们存储在不同的位置,但依然可以添加成功。
3、HashSet 集合判断两个元素相等的标准:两个对象通过 equals() 方法比较相等,并且两个对象的 hashCode() 方法返回值也相等。
4、如果两个对象通过 equals() 方法返回 true,这两个对象的 hashCode 值也应该相同。
2、代码演示
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class HSet {
public static void main(String[] args) {
Set set = new HashSet();
set.add(1);
set.add("a");
set.add("你好");
System.out.println(set);
set.remove(1);
System.out.println(set);
System.out.println(set.contains("你好"));
set.clear();
System.out.println(set);
set.add("a");
set.add("b");
set.add("c");
set.add("d");
System.out.println(set);
//使用迭代器遍历集合
Iterator it = set.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
System.out.println("===============");
//for each遍历集合
for(Object obj:set){
System.out.println(obj);
}
System.out.println("set集合中共有"+set.size()+"个元素");
set.add("a");//set集合存的值不重复
System.out.println("set集合中共有"+set.size()+"个元素");
}
}
结果:
3、泛型的简单了解
import java.util.HashSet;
import java.util.Set;
public