Java中HashSet和LinkedHashSet的常用方法

一.HashSet集合

①.add(Object o):向Set集合中添加元素,不允许添加重复数据。
②.size():返回Set集合中的元素个数

public class Test {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>(); //调用HashSet无参构造方法——>创建HashMap对象并给map全局变量。
        set.add("qq");
        set.add("bb");
        System.out.println(set);
        System.out.println(set.size());
    }
}

注意:不会按照保存的顺序存储数据(顺序不定),遍历时不能保证下次结果和上次相同。且向HashSet集合中添加元素,HashSet add方法实质是map全局变量调用了put方法,将数据存到了key,因为HashMap的 key不允许,所以HashSet添加的元素也不允许重复。


③.remove(Object o): 删除Set集合中的obj对象,删除成功返回true,否则返回false。
④.isEmpty():如果Set不包含元素,则返回 true。

public class Test {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        set.add("qq");
        set.add("bb");
        System.out.println(set.isEmpty());
        System.out.println(set.remove("bb"));
        System.out.println(set);
    }
}


⑤.clear(): 移除此Set中的所有元素。

public class Test {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        set.add("qq");
        set.add("bb");
        System.out.println(set);
        set.clear();
        System.out.println(set);
    }
}


⑥.iterator():返回在此Set中的元素上进行迭代的迭代器。

public static void main(String[] args) {
    HashSet<String> set = new HashSet<String>();
    set.add("qq");
    set.add("bb");
    Iterator<String> ite =set.iterator();
    while(ite.hasNext())
    {
        System.out.println(ite.next());
    }
}


⑦.contains(Object o):判断集合中是否包含obj元素。

public class Test {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        set.add("qq");
        set.add("bb");
        System.out.println(set.contains("qq"));
    }
}


⑧:加强for循环遍历Set集合。

public class Test {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        set.add("qq");
        set.add("bb");
        for (String name : set) {   //使用foreach进行遍历。
            System.out.println(name);
        }
    }
}

二.LinkedHashSet集合

1. 添加元素
使用 add() 方法添加元素。
如果元素已存在,则不会重复添加。

linkedHashSet.add("Apple");
linkedHashSet.add("Banana");
linkedHashSet.add("Cherry");
linkedHashSet.add("Apple"); // 重复元素,不会添加
System.out.println(linkedHashSet); // 输出: [Apple, Banana, Cherry]


2. 删除元素
使用 remove() 方法删除指定元素。
使用 clear() 方法清空所有元素。

linkedHashSet.remove("Banana");
System.out.println(linkedHashSet); // 输出: [Apple, Cherry]

linkedHashSet.clear();
System.out.println(linkedHashSet); // 输出: []


3. 检查元素是否存在
使用 contains() 方法检查是否包含指定元素。

boolean containsApple = linkedHashSet.contains("Apple");
System.out.println("Contains Apple: " + containsApple); // 输出: Contains Apple: true


4. 获取大小
使用 size() 方法获取集合中元素的数量。

int size = linkedHashSet.size();
System.out.println("Size: " + size); // 输出: Size: 2


5. 遍历 LinkedHashSet
使用 for-each 循环遍历。
使用 Iterator 遍历。

// 使用 for-each 循环遍历
for (String fruit : linkedHashSet) {
    System.out.println(fruit);
}

// 使用 Iterator 遍历
Iterator<String> iterator = linkedHashSet.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}


6. 转换为数组
使用 toArray() 方法将 LinkedHashSet 转换为数组。

 String[] array = linkedHashSet.toArray(new String[0]);
for (String s : array) {
    System.out.println(s);
}


7. 其他常用方法
isEmpty(): 检查 LinkedHashSet 是否为空。
retainAll(): 保留与指定集合相同的元素。
removeAll(): 删除与指定集合相同的元素。

LinkedHashSet<String> fruits = new LinkedHashSet<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");

LinkedHashSet<String> toRetain = new LinkedHashSet<>();
toRetain.add("Apple");
toRetain.add("Cherry");

fruits.retainAll(toRetain); // 只保留 Apple 和 Cherry
System.out.println(fruits); // 输出: [Apple, Cherry]

fruits.removeAll(toRetain); // 删除 Apple 和 Cherry
System.out.println(fruits); // 输出: []

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值