当前位置:首页 > 技术 >

java中set的用法整理(java里set如何使用)

来源:原点资讯(www.yd166.com)时间:2023-04-10 13:25:06作者:YD166手机阅读>>

Set是Java集合类中的一部分,继承了Collection接口。

特点:Set中的数据不允许重复。

java中set的用法整理,java里set如何使用(1)

基本操作

1、创建Set实例(以HashSet为例)

// 数据类型不能为基本类型 Set<数据类型> set = new HashSet<>(); // 示例 Set<Integer> set = new HashSet<>();

2、添加一个元素

使用 add 方法。

boolean add(E e);

示例:

Set<Integer> set = new HashSet<>(); set.add(1); set.add(1); set.add(2); set.add(3); System.out.println(set); // 输出 [1, 2, 3]

3、添加一个集合

使用 addAll 方法。

boolean addAll(Collection<? extends E> c);

示例:

Set<Integer> set = new HashSet<>(); set.add(1); set.add(1); set.add(2); set.add(3); Set<Integer> set1 = new HashSet<>(); set1.add(1); set1.add(4); List<Integer> list = new ArrayList<>(); list.add(1); list.add(5); set.addAll(set1); System.out.println(set); // 输出 [1, 2, 3, 4] set.addAll(list); System.out.println(set); // 输出 [1, 2, 3, 4, 5]

4、删除元素

使用 remove 方法。

boolean remove(Object o);

示例:

Set<Integer> set = new HashSet<>(); set.add(1); set.add(1); set.add(2); set.add(3); set.remove(1); System.out.println(set); // 输出 [2, 3]

5、获取集合中元素个数

使用 size 方法。

int size();

示例:

Set<Integer> set = new HashSet<>(); set.add(1); set.add(1); set.add(2); set.add(3); System.out.println(set.size()); // 输出 3

6、判断集合是否为空

使用 isEmpty 方法。

boolean isEmpty();

示例:

Set<Integer> set = new HashSet<>(); set.add(1); set.add(1); set.add(2); set.add(3); System.out.println(set.isEmpty()); // 输出 false

7、判断集合中是否包含指定的元素

使用 contains 方法。

boolean contains(Object o);

示例:

Set<Integer> set = new HashSet<>(); set.add(1); set.add(1); set.add(2); set.add(3); System.out.println(set.contains(1));

8、判断集合是否包含另外一个集合

使用 containsAll 方法。

boolean containsAll(Collection<?> c);

示例:

Set<Integer> set = new HashSet<>(); set.add(1); set.add(1); set.add(2); set.add(3); Set<Integer> set1 = new HashSet<>(); set1.add(1); set1.add(4); List<Integer> list = new ArrayList<>(); list.add(1); list.add(3); System.out.println(set.containsAll(set1)); // 输出 false System.out.println(set.containsAll(list)); // 输出 true

9、集合转数组

使用 toArray 方法,有两个方法可以使用,如下:

Object[] toArray(); <T> T[] toArray(T[] a);

示例:

Set<Integer> set = new HashSet<>(); set.add(1); set.add(1); set.add(2); set.add(3); Object[] objects = set.toArray(); Integer[] integers = set.toArray(new Integer[0]);

10、清空集合元素

使用 clear 方法。

void clear();

示例:

Set<Integer> set = new HashSet<>(); set.add(1); set.add(1); set.add(2); set.add(3); set.clear();高级用法

1、集合几种方式

第一种:for循环遍历

for (Integer i : set) { System.out.println(i); }

第二种:迭代器遍历

Iterator<Integer> iterator = set.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); }

第三种:foreach方式

set.forEach(System.out::println);

第四种:spliterator方式,比较不常用

Spliterator<Integer> spliterator = set.spliterator(); spliterator.forEachRemaining(System.out::println);

2、求交集、差集、并集

首先准备两个集合:

Set<Integer> set = new HashSet<>(); set.add(1); set.add(2); set.add(3); Set<Integer> set1 = new HashSet<>(); set1.add(3); set1.add(4); set1.add(5);

差集:

set.removeAll(set1);

并集:

set.removeAll(set1); set.addAll(set1);

交集:

set.retainAll(set1);

3、EnumSet使用

使用EnumSet创建集合,如下:

public class SetDemo { enum Fruit {APPLE, BANANA, PEAR} public static void main(String[] args) { Set<Fruit> fruitSet = EnumSet.of(Fruit.APPLE, Fruit.BANANA, Fruit.PEAR); // EnumSet其他方法略 } }

4、TreeSet使用

使用TreeSet进行正向排序:

Set<Integer> set = new TreeSet<>(); set.add(2); set.add(1); set.add(3); System.out.println(set); // 正向排序,输出 [1, 2, 3]

反向排序:

Set<Integer> set = new TreeSet<>(Comparator.reverseOrder()); set.add(2); set.add(1); set.add(3); System.out.println(set); // 反向排序,输出 [3, 2, 1]

还可以自定义排序:

Set<Integer> set = new TreeSet<>(new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o1 - o2; } }); set.add(2); set.add(1); set.add(3); System.out.println(set); // 自定义排序,输出 [1, 2, 3]

栏目热文

java中的get和set方法有什么用(javaget方法和set方法有什么用)

java中的get和set方法有什么用(javaget方法和set方法有什么用)

我们先来看看set和get这两个词的表面意思,set是设置的意思,而get是获取的意思,顾名思义,这两个方法是对数据进行...

2023-04-10 14:08:20查看全文 >>

java中set和get用法(java中set集合的用法)

java中set和get用法(java中set集合的用法)

对于 java 初学者来说,set 和 get 这两个方法似乎已经很熟悉了,这两个方法就是 JAVA 编程中的基本用法,...

2023-04-10 13:21:23查看全文 >>

java类的get和set方法是灰色的(javaget方法和set方法有什么用)

java类的get和set方法是灰色的(javaget方法和set方法有什么用)

对于 java 初学者来说,set 和 get 这两个方法似乎已经很熟悉了,这两个方法就是 JAVA 编程中的基本用法,...

2023-04-10 13:31:23查看全文 >>

java中set和get后的括号用法(java中set的用法详解)

java中set和get后的括号用法(java中set的用法详解)

对于 java 初学者来说,set 和 get 这两个方法似乎已经很熟悉了,这两个方法就是 JAVA 编程中的基本用法,...

2023-04-10 13:41:39查看全文 >>

java中泛型类写法(java泛型的几种写法)

java中泛型类写法(java泛型的几种写法)

开发和学习中需要时刻和数据打交道,如何组织这些数据是我们编程中重要的内容。我们一般通过“容器”来容纳和管理数据。事实上,...

2023-04-10 13:36:00查看全文 >>

java中反射set方法和get方法(java通过反射获取类的属性)

java中反射set方法和get方法(java通过反射获取类的属性)

目录:一.反射基础二.反射的作用三.反射机制执行的流程一.反射基础什么是反射?反射使 java 代码可以发现有关已加载类...

2023-04-10 13:38:06查看全文 >>

java的set用法(java 什么时候使用set)

java的set用法(java 什么时候使用set)

序欢迎来到全网最完整的java进阶知识系列教程!!!每天定时更新!!!本期是Java进阶知识系列的第五讲,继上一讲Lis...

2023-04-10 13:59:33查看全文 >>

岗南水库最深多少米(岗南水库一般多深)

岗南水库最深多少米(岗南水库一般多深)

河北位于我国华北地区,西部和北部是高山,南部和东部是平原。本省属于温带大陆型季风气候,年均降水量500毫米左右,水资源紧...

2023-04-10 14:10:27查看全文 >>

河北第一大水库(河北十大水库排名)

河北第一大水库(河北十大水库排名)

旅游风物志,揽四海胜景,博人间风华。河北唐山,素有“京东宝地”之称,地貌复杂多样,整体来说,背山临海,位于迁西县的八面峰...

2023-04-10 14:08:24查看全文 >>

黄壁庄水库深度多少米(黄壁庄水库库容量多少)

黄壁庄水库深度多少米(黄壁庄水库库容量多少)

炎炎夏日,带上家人邂逅绿水青山,在大自然中感受清凉。或静坐在山顶,观云海涌动、星空灿烂;或立在岸边,看夕阳西下,享人生美...

2023-04-10 13:50:42查看全文 >>

文档排行