package com.lihaozhe.collection.set;
import org.junit.jupiter.api.Test;
import java.util.*;
/**
* List :有序可重复 有序指的是按照新增的顺序存储 可重复指的是存储元素的值可以重复
* Set :无序不可重复 无序指的不会按照新增的顺序存储 不可重复指的是存储元素的值不可以重复
* HashSet : 无序不可重复
* LinkedHashSet :有序不可重复 有序指的是按照新增的顺序存储
*/
public class HashSetTest {
@Test
public void test01(){
List list = new ArrayList();
byte a = 1;
short b = 2;
int c = 3;
long d = 4L;
double e = 5.0d;
float f = 6.0f;
char g = 'a';
boolean h = false;
list.add(a);
list.add(b);
list.add(c);
list.add(d);
list.add(e);
list.add(f);
list.add(g);
list.add(h);
System.out.println(list.size());
}
@Test
public void test02(){
Set set = new HashSet();
byte a = 1;
short b = 2;
int c = 3;
long d = 4L;
double e = 5.0d;
float f = 6.0f;
char g = 'a';
boolean h = false;
set.add(a);
set.add(b);
set.add(c);
set.add(d);
set.add(e);
set.add(f);
set.add(g);
set.add(h);
set.add(a);
System.out.println(set);
}
@Test
public void test03(){
Set set = new HashSet<String>();
for (int i = 0; i < 10; i++){
set.add("李萌君" + i);
}
System.out.println(set);
for (int i = 0; i < set.size(); i++){
System.out.println(set);
}
}
@Test
public void test04(){
Set<String> set = new HashSet();
for (int i = 0; i < 10; i++){
set.add("李萌君" + i);
}
System.out.println(set);
for (String name : set){
System.out.println(name);
}
}
@Test
public void test05(){
Set<String> set = new HashSet();
for (int i = 0; i < 10; i++){
set.add("李萌君" + i);
}
System.out.println(set);
Iterator<String> it = set.iterator();
while (it.hasNext()){
String name = it.next();
System.out.println(name);
}
}
}
【无标题】
本文主要探讨了Java集合框架中的List接口实现类ArrayList和Set接口实现类HashSet的区别。List是有序且可重复的,而Set是无序且不可重复的。通过测试用例展示了HashSet的不可重复性,以及添加元素的无序特性。同时,还演示了如何使用HashSet存储字符串并遍历输出。
摘要由CSDN通过智能技术生成