目录
1.HashSet
import java.util.*;
public class set {
public static void main(String args[]){
HashSet<Integer> set = new HashSet<Integer>(0);
//增加
set.add(5);
set.add(6);
set.add(4);
set.add(100);//[4, 100, 5, 6]
//删除
set.remove(100);//[4, 5, 6]
List<Integer> list1 = new ArrayList<>();
list1.add(5);list1.add(6);
set.removeAll(list1);//[4]
//查寻
set.add(6);
set.add(4);
set.add(100);//[4, 100, 6]
Boolean contains = set.contains(4);//true
Boolean isEmpty = set.isEmpty();//false
int size = set.size();//3
//复制
HashSet<Integer> set1 = new HashSet<Integer>(0);
set1 = set;
System.out.println(set1);//[4, 100, 6]
set1.add(99);
System.out.println(set);//[99, 4, 100, 6]
System.out.println(set1);//[99, 4, 100, 6]
Object set2 = new Object();
set2 = set.clone();
System.out.println(set2);//[99, 4, 100, 6]
//遍历
set.remove(99);
Iterator<Integer> it = set.iterator();
while (it.hasNext()) {
Integer s = it.next();
System.out.print(s);//41006
}
System.out.print("\n");
for (Integer n : set) {
System.out.print(n);//41006
}
}
}
2.TreeSet
import java.util.*;
public class set {
public static void main(String args[]){
TreeSet<Integer> set = new TreeSet<Integer>();
//增加
set.add(5);
List<Integer> list = new ArrayList<>();
list.add(6);list.add(4);
set.addAll(list);
set.add(100);//[4, 5, 6, 100]
//删除
set.remove(100);//[4, 5, 6]
List<Integer> list1 = new ArrayList<>();
list1.add(5);list1.add(6);
set.removeAll(list1);//[4]
set.addAll(list1);
list1.clear();
list1.add(4);
set.retainAll(list1);//[4]
//修改和删除
set.add(1);
set.add(100);
Integer pollFirst = set.pollFirst();//1
Integer polllast = set.pollLast();//100
System.out.println(set);//[4]
//查寻
set.add(6);
set.add(4);
set.add(100);//[4, 100, 6]
Boolean contains = set.contains(4);//true
Boolean isEmpty = set.isEmpty();//false
int size = set.size();//3
List<Integer> list2 = new ArrayList<>();
list2.add(6);list2.add(4);
Boolean containsAll = set.containsAll(list2);//true
int first = set.first();//4
int last = set.last();//100
//复制
TreeSet<Integer> set1 = new TreeSet<Integer>();
set1 = set;
//System.out.println(set1);//[4, 6, 100]
set1.add(99);
//System.out.println(set);//[4, 6, 99, 100]
//System.out.println(set1);//[4, 6, 99, 100]
//获取子set
SortedSet<Integer> subSet = set.subSet(6,99);//[6]
SortedSet<Integer> tailSet = set.tailSet(6);//[6, 99, 100]
//遍历
set.remove(99);
Iterator<Integer> it = set.iterator();
while (it.hasNext()) {
Integer s = it.next();
System.out.print(s);//46100
}
System.out.print("\n");
for (Integer n : set) {
System.out.print(n);//46100
}
}
}
4.set排序
import java.util.*;
public class set {
public static void main( String[] args ) {
Set<String> set = new HashSet<>();
set.add("1");
set.add("3");
set.add("2");
set.add("4");
set.add("5");
Set<String> sortSet = new TreeSet<String>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1);//降序排列
}
});
//Set<String> sortSet = new TreeSet<String>((o1, o2) -> o2.compareTo(o1));
System.out.println(set);//[1, 2, 3, 4, 5]
System.out.println(sortSet);//[]
sortSet.addAll(set);
System.out.println(sortSet);//[5, 4, 3, 2, 1]
}
}