Java HashSet方法总结

1.CollectionSet——>set
Set分为TreeSet 和 HashSet ,接下来总结Hashset常用方法:
2.HashSet常用方法:
①add(Object obj):向Set集合中添加元素,添加成功返回true,否则返回false

package list;

import java.util.HashSet;
import java.util.Iterator;

public class Test {

	public static void main(String[] args) {
		
		HashSet<String> set = new HashSet<String>();    //调用HashSet无参构造方法,创建HashMap对象并给map全局变量
		set.add("jim");
		set.add("kim");     //注意:不会按照保存的顺序存储数据;遍历是不能保证下次结果和上次相同
		System.out.println(set.add("kim"));
	}
}

显示false,因为不允许重复添加。
原因:向HashSet集合中添加元素,HashSet add方法实质是map全局变量调用了put方法,将数据存到了key,因为HashMap 的 key不允许重复,所以HashSet添加的元素也不允许重复。

HashSet add方法源码如下

 public HashSet() {
        map = new HashMap<>();
    }
 public boolean add(E e) {
        return map.put(e, PRESENT)==null;
    }

②size() :返回Set集合中的元素个数

package list;

import java.util.HashSet;
import java.util.Iterator;

public class Test {

	public static void main(String[] args) {
		
		HashSet<String> set = new HashSet<String>();
		set.add("jim");
		set.add("kim");
		System.out.println(set.size());
	}
}

输出结果是2.
③remove(Object obj) : 删除Set集合中的元素,删除成功返回true,否则返回false。

package list;

import java.util.HashSet;
import java.util.Iterator;

public class Test {

	public static void main(String[] args) {
		
		HashSet<String> set = new HashSet<String>();
		set.add("jim");
		set.add("kim");
	    System.out.println(set.remove("kim"));
		System.out.println(set.remove("ji"));
	}
}

在这里插入图片描述
④isEmpty() :如果Set不包含元素,则返回 true ,否则返回false

package list;

import java.util.HashSet;
import java.util.Iterator;

public class Test {

	public static void main(String[] args) {
		
		HashSet<String> set = new HashSet<String>();
		set.add("jim");
		set.add("kim");
	    System.out.println(set.isEmpty());
	}
}

输出结果为false

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

package list;

import java.util.HashSet;
import java.util.Iterator;

public class Test {

	public static void main(String[] args) {
		
		HashSet<String> set = new HashSet<String>();
		set.add("jim");
		set.add("kim");
	    System.out.println(set.size());
		set.clear();
		System.out.println(set.size());
		System.out.println(set.isEmpty());
	}
}

在这里插入图片描述
⑥iterator() :返回在此Set中的元素上进行迭代的迭代器,实现遍历。

package list;

import java.util.HashSet;
import java.util.Iterator;

public class Test {

	public static void main(String[] args) {
		
		HashSet<String> set = new HashSet<String>();
		set.add("jim");
		set.add("kim");
		Iterator<String> iterator = set.iterator();
		while(iterator.hasNext()) {
		System.out.println(iterator.next());
		}
		for(String str: set) {
			System.out.println(str);
		}
	}
}

在这里插入图片描述
⑦contains(Object o):如果Set包含指定的元素,则返回 true,否则返回false

package list;

import java.util.HashSet;
import java.util.Iterator;

public class Test {

	public static void main(String[] args) {
		
		HashSet<String> set = new HashSet<String>();
		set.add("jim");
		set.add("kim");
		boolean flag;
		flag = set.contains("ki");
		System.out.println(flag);
	}
}

结果显示false。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值