阅读量:1
在Java中,Set是一个接口,用于存储不重复的元素。要使用Set,您需要选择一个具体的实现类。以下是几个常用的Set实现类:
- HashSet:基于哈希表的实现,插入和查找的时间复杂度为O(1)。但是,它不保证元素的顺序。
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set set = new HashSet<>();
set.add("apple");
set.add("banana");
set.add("orange");
set.add("apple"); // 重复元素,不会被添加到集合中
System.out.println("Set: " + set);
}
}
- TreeSet:基于红黑树的实现,插入和查找的时间复杂度为O(log n)。它会自动对元素进行排序。
import java.util.TreeSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set set = new TreeSet<>();
set.add("apple");
set.add("banana");
set.add("orange");
set.add("apple"); // 重复元素,不会被添加到集合中
System.out.println("Sorted Set: " + set);
}
}
- LinkedHashSet:基于哈希表和链表的实现,插入和查找的时间复杂度为O(1)。它保留了元素的插入顺序。
import java.util.LinkedHashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set set = new LinkedHashSet<>();
set.add("apple");
set.add("banana");
set.add("orange");
set.add("apple"); // 重复元素,不会被添加到集合中
System.out.println("LinkedHashSet: " + set);
}
}
- EnumSet:基于枚举类型的实现,适用于枚举类型的集合。插入和查找的时间复杂度为O(1)。
public enum Color {
RED, GREEN, BLUE
}
import java.util.EnumSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set set = EnumSet.noneOf(Color.class);
set.add(Color.RED);
set.add(Color.BLUE);
set.add(Color.GREEN);
set.add(Color.RED); // 重复元素,不会被添加到集合中
System.out.println("EnumSet: " + set);
}
}
根据您的需求,可以选择合适的Set实现类来存储不重复的元素。
以上就是关于“java set 类型如何实现”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm