Set 集合以及Set集合的一些常用方法

本文详细介绍了Set集合的概念及其在Java中的实现方式,包括HashSet和LinkedHashSet的特点,并解释了如何使用add()方法添加元素、如何利用forEach循环及迭代器进行遍历,以及如何执行删除操作。
部署运行你感兴趣的模型镜像

set 数组

1、set数组是一个不包含重复元素,无序的元素的集合。

2、set 数组的实现类是HashSetLinkedHashSetset接口继承于Collection接口,而Collection接口继承于Iterable接口;

public interface Set<E> extends Collection<E>{……}

3、set数组中不存在get()方法;

4、往set中添加元素使用的是add()方法,但是在set中没有add(index , element)方法。

  Set<String> mySet = new HashSet<>();(提醒,<>中不能赋值基本数据类型,一般放置的都是对象类型)

mySet.add("a");

mySet.add("b");

mySet.add("c");

5、内容添加过后,接下来就是要取出Set中的内容,用到forEach遍历输出Set中的元素;

for (String string : mySet) {

System.out.println(string);

6、上面提到用forEach遍历数组Set,那下面我就用迭代器来遍历Set数组;

(迭代器是Java提供给我们的一个接口,在此我们不去考虑他的底层结构)

Iterator<String> iterator = mySet.iterator();

(这里Iterator接口会给我们许多种方法,这里我们只用到next()hasNext()方法)

        (next()方法:输出Set数组元素,当下一个位置无元素是,使用next()方法就会抛出异常(NoSuchElementException)。

hasNext()方法,判断下一个位置是否有元素,返回值类型是boolean类型)

while(iterator.hasNext()){

System.out.println(iterator.next());

}

7、在这里多加一点,就是使用迭代器遍历List数组

List<String> list = new ArrayList<>();

list.add("shui");

list.add("ping");

list.add("zuo");

Iterator<String> iterator = list.iterator();

while(iterator.hasNext()){

System.out.println(iterator.next());

}

8、删除数组中的某个元素,只有一个remove()方法,此方法没有方法重载,意味着大家不能通过数组元素的下标来删除数组中的某个内容。

mySet.remove("a"); //删除数组中的"a"元素

mySet.isEmpty();   //判断数组是否为空

mySet.clear();    //清除数组中的所有内容



您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

不同编程语言中 `set` 集合有不同的常用方法,以下为你介绍 Java 和 Python 中 `set` 集合常用方法。 ### JavaSet 集合常用方法 Java 中 `Set` 是一个接口,常见的实现类有 `HashSet`、`TreeSet` 等。以下是一些常用方法及示例代码: ```java import java.util.HashSet; import java.util.Set; public class SetExample { public static void main(String[] args) { // 创建存储字符串的 HashSet 集合 Set<String> objects = new HashSet<>(); // 往集合中添加元素 objects.add("123"); objects.add("456"); objects.add("789"); // 判断集合是否为空 boolean empty = objects.isEmpty(); System.out.println(empty); // 判断集合是否包含元素 123 boolean contains = objects.contains("123"); System.out.println(contains); // 移除集合元素 123 objects.remove("123"); System.out.println(objects); // 获取迭代器,遍历集合所有元素 java.util.Iterator<String> iterator = objects.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } } } ``` 上述代码中使用到的方法解释如下: - `add(E e)`:向集合中添加元素,如果元素已存在则不会重复添加。 - `isEmpty()`:判断集合是否为空,返回布尔值。 - `contains(Object o)`:判断集合中是否包含指定元素,返回布尔值。 - `remove(Object o)`:从集合中移除指定元素,如果元素存在则移除并返回 `true`,否则返回 `false`。 - `iterator()`:返回一个迭代器,用于遍历集合中的元素。 另外,`SortedSet` 接口(如 `TreeSet` 实现了该接口)还有 `subSet()`、`headSet()`、`tailSet()` 方法: ```java import java.util.SortedSet; import java.util.TreeSet; public class SortedSetExample { public static void main(String[] args) { SortedSet<String> ss = new TreeSet<>(); ss.add("c"); ss.add("b"); ss.add("e"); ss.add("a"); ss.add("d"); System.out.println("headSet()->" + ss.headSet("c")); System.out.println("tailSet()->" + ss.tailSet("c")); System.out.println("subSet()->" + ss.subSet("b", "d")); } } ``` - `subSet(E fromElement, E toElement)`:返回指定范围内的子集,该范围是左闭右开区间,即包含起始元素,但不包含结束元素。 - `headSet(E toElement)`:返回比指定元素小的所有元素组成的子集。 - `tailSet(E fromElement)`:返回比指定元素大于等于的所有元素组成的子集。 ### Python 中 set 集合常用方法 在 Python 中,`set()` 是一个内置函数,用于创建一个无序且不包含重复元素的集合。以下是一些常用方法及示例代码: ```python # 创建集合 my_set = set() # 添加元素 my_set.add(1) my_set.add(2) my_set.add(3) # 判断元素是否在集合中 print(1 in my_set) # 移除元素 my_set.remove(1) print(my_set) # 集合的并集 other_set = {3, 4, 5} union_set = my_set.union(other_set) print(union_set) # 集合的交集 intersection_set = my_set.intersection(other_set) print(intersection_set) # 集合的差集 difference_set = my_set.difference(other_set) print(difference_set) ``` 上述代码中使用到的方法解释如下: - `add(element)`:向集合中添加元素,如果元素已存在则不会重复添加。 - `in`:判断元素是否在集合中,返回布尔值。 - `remove(element)`:从集合中移除指定元素,如果元素不存在则会抛出 `KeyError` 异常。 - `union(other_set)`:返回两个集合的并集,即包含两个集合中所有不重复的元素。 - `intersection(other_set)`:返回两个集合的交集,即包含两个集合中共同的元素。 - `difference(other_set)`:返回两个集合的差集,即包含在当前集合中但不在另一个集合中的元素。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值