0
点赞
收藏
分享

微信扫一扫

JAVA SET创建

JAVA SET创建

在Java编程语言中,Set是一种集合类,它是用来存储不重复元素的。Set接口继承自Collection接口,它在集合中没有定义位置的概念,也没有提供对元素的索引访问。Set使用哈希表作为底层实现,因此添加、删除和查找操作的时间复杂度都是O(1)。

Set的特点

Set集合的特点如下:

  • 不允许重复元素:Set集合中不允许存储重复的元素,如果尝试添加重复元素,将不会成功。
  • 无序性:Set集合中的元素没有特定的顺序,元素的存储顺序与添加的顺序无关。
  • 可以包含null元素:Set集合可以存储null元素,但是只能存储一个null元素,不能存储多个。

创建Set集合

在Java中,可以使用HashSet、TreeSet和LinkedHashSet等类来创建Set集合。

1. HashSet

HashSet是基于哈希表实现的Set集合。它不保证元素的顺序,内部使用哈希函数来计算元素的存储位置,因此添加、删除和查找操作的时间复杂度都是O(1)。

以下是使用HashSet创建Set集合的示例代码:

import java.util.HashSet;
import java.util.Set;

public class HashSetExample {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();

        // 添加元素
        set.add("apple");
        set.add("banana");
        set.add("orange");
        set.add("apple"); // 添加重复元素,不会成功

        // 遍历元素
        for (String element : set) {
            System.out.println(element);
        }

        // 判断元素是否存在
        boolean containsApple = set.contains("apple");
        System.out.println("Set contains apple: " + containsApple);

        // 删除元素
        set.remove("apple");

        // 清空集合
        set.clear();
    }
}

2. TreeSet

TreeSet是基于红黑树实现的Set集合。它可以保证元素的有序性,根据元素的自然顺序或自定义比较器进行排序。

以下是使用TreeSet创建Set集合的示例代码:

import java.util.Set;
import java.util.TreeSet;

public class TreeSetExample {
    public static void main(String[] args) {
        Set<Integer> set = new TreeSet<>();

        // 添加元素
        set.add(3);
        set.add(1);
        set.add(2);
        set.add(3); // 添加重复元素,不会成功

        // 遍历元素
        for (Integer element : set) {
            System.out.println(element);
        }

        // 判断元素是否存在
        boolean containsOne = set.contains(1);
        System.out.println("Set contains 1: " + containsOne);

        // 删除元素
        set.remove(1);

        // 清空集合
        set.clear();
    }
}

3. LinkedHashSet

LinkedHashSet是基于链表和哈希表实现的Set集合。它可以保留元素的插入顺序,内部使用哈希函数计算元素存储位置,并使用链表维护元素的插入顺序。

以下是使用LinkedHashSet创建Set集合的示例代码:

import java.util.LinkedHashSet;
import java.util.Set;

public class LinkedHashSetExample {
    public static void main(String[] args) {
        Set<String> set = new LinkedHashSet<>();

        // 添加元素
        set.add("apple");
        set.add("banana");
        set.add("orange");
        set.add("apple"); // 添加重复元素,不会成功

        // 遍历元素
        for (String element : set) {
            System.out.println(element);
        }

        // 判断元素是否存在
        boolean containsApple = set.contains("apple");
        System.out.println("Set contains apple: " + containsApple);

        // 删除元素
        set.remove("apple");

        // 清空集合
        set.clear();
    }
}

总结

Set是Java中一种用来存储不重复元素的集合类。通过HashSet、TreeSet和LinkedHashSet等类,我们可以轻松地创建和操作Set集合。根据具体的需求,我们可以选择不同的Set实现类来满

举报

相关推荐

0 条评论