Set集合常用方法

Set集合的部分方法与List集合中的方法有所不同
格式为:

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

public class Test2 {

	public static void main(String[] args) {
	
		Set<String> names = new HashSet<String>();
	}

.add()方法:
作用:向集合中添加数据;且Set集合不能存储重复的数据
格式:对象名.add(添加内容);(添加内容必须与对象的类型一致)
.size()方法:
作用:统计集合中有多少元素(元素可以重复储存)
格式:对象名.size();
代码:

names.add("Jim");//添加数据。
	names.add("Jim");
	names.add("Tom");
	names.add("Dan");	
	int size = names.size();
	System.out.println(size);
	
	结果为:
	3

.isEmpty()方法:
作用:判断集合中是否有元素,若有则返回true;若没有,则返回false
格式:对象名.isEmpty();
代码:

boolean flag = names.isEmpty();
	System.out.println(flag);//false

.clear()方法:
作用:清空集合中的所有元素
格式:对象名.clear();
代码:

names.clear();
    flag = names.isEmpty();//true
    System.out.println(flag);

List集合按照存储顺序保存的,Set集合中HashSet不是按照存储的顺序保存,具有不确定性;LinkedHashSet是按照用户存储的顺序存储的;TreeSet按照自然顺序保存。因此,不存在List集合中的.get(index)方法:.add(index, ,element)方法和.set(index, element)方法。且如果需要进行遍历集合中的数据,则不能使用传统的for循环。
方法一:

for (String name : names) {
		System.out.println(name);
	}

方法二:

Iterator iterator = names.iterator();
	while(iterator.hasNext()) {
    	System.out.println(iterator.next());
    }

整体代码:

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

public class Test2 {

	public static void main(String[] args) {
	    //1、List集合可以保存重复的数据,但是Set集合不可以
		//2、List集合按照存储顺序保存的,Set集合中HashSet不是按照存储的顺序保存,具有不确定性;
		//LinkedHashSet是按照用户存储的顺序存储的;TreeSet按照自然顺序保存
		
	    Set<String> names = new HashSet<String>();//调用HashSet构造方法
        										//public HashSet() {
	    										//  map = new HashMap<>();//为map成员变量赋值,HashMap对象
          										//}
	    names.add("Jim");//源码://ctrl+点add Open Implementation 点HashSet
	    				//public boolean add(E e) {
	    				//  return map.put(e, PRESENT)==null;//向Map集合中HashMap容器添加数据 PRESENT常量   
	   					//本质:HashSet存储数据时本质是存到了HashMap集合的key
	    				//}
	    names.add("Lucy");
	    names.add("Bob");
	    
	    boolean flag = names.isEmpty();
	    System.out.println(flag);
	    //names.clear();
	    flag = names.isEmpty();
	    System.out.println(flag);
	    
	    for (String name : names) {
			System.out.println(name);
		}
	    
	    Iterator iterator = names.iterator();
	    while(iterator.hasNext()) {
	    	System.out.println(iterator.next());
	    }
	}
}