文章目录
Set
1.1 Set集合概述和特点
Set集合特点:
- 不包含重复元素的集合
- 没有带索引的方法,所以不能使用普通for循环遍历
Set集合练习
- 存储字符串并遍历
package com.fun01;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/**
* @author 23389.
* @date 2021/6/20.
*/
/*
Set集合特点:
- 不包含重复元素的集合
- 没有带索引的方法,所以不能使用普通for循环遍历
HashSet对集合的迭代顺序不做任何保证
*/
public class SetDemo {
public static void main(String[] args){
// 创建集合对象
Set<String> set = new HashSet<String>();
//添加元素
set.add("hello");
set.add("world");
set.add("java");
//不包含重复元素
set.add("world");
//遍历
for(String s : set){
System.out.println(s);
}
Iterator<String> it = set.iterator();
while(it.hasNext()){
String s = it.next();
System.out.println(s);
}
}
}
1.2哈希值
哈希值:是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值
Object类中有一个方法可以获取对象的哈希值
- public int hashCode(): 返回对象的哈希码值
对象的哈希值特点
- 同一个对象多次调用hashCode()方法返回的哈希值是相同的
- 默认情况下,不同对象的哈希值是不同的,而重写hashCode()方法,可以实现不同对象的哈希值相同
1.3HashSet集合概述和特点
HashSet集合特点:
- 底层数据集合是哈希表
- 对集合的迭代顺序不做任何保证,也就是说不保证存储和取出的元素一致
- 没有带索引的方法,所以本使用普通for循环遍历
- 由于是set集合,所以不包含重复元素的集合
HashSet集合练习
- 存储字符串并遍历
package com.fun03;
import java.util.HashSet;
import java.util.Iterator;
/**
* @author 23389.
* @date 2021/6/21.
*/
public class HashSetDemo {
public static void main(String[] args){
//创建集合对象
HashSet<String> hset = new HashSet<String>();
//添加元素
hset.add("hello");
hset.add("world");
hset.add("java");
System.out.println(hset);
//增强for循环遍历
for(String s : hset){
System.out.println(s);
}
//迭代器遍历
Iterator<String> it = hset.iterator();
while(it.hasNext()){
String s = it.next();
System.out.println(s);
}
}
}