Java集合类笔记3:Set接口
1.HashSet是Set接口的典型实现,大多数使用Set集合就是使用这个实现类。HashSet按Hash算法来存储集合中的元素,因此具有很好的存取和查找性能。
2.HashSet的特点:
1)不能保证元素的排列顺序
2)HashSet不是同步的,如果多个线程同时访问一个Set集合,如果多个线程同时访问一个HashSet,如果有2条或两条以上线程同时修改了HashSet集合时,必须通过代码来保证其同步。
3)集合元素可以为null。
3.当向HashSet集合存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据该Hashcode值来决定该对象在HashSet中存储位置。如果两个元素通过equals方法比较返回true,但它们的hashCode()方法返回值不相同,HashSet将会把它们存储在不同位置,也就可以添加成功。
4.TestHashset.java
import java.util.*;public class TestTreeSet{public static void main(String[] args) {TreeSet nums = new TreeSet();nums.add(5);nums.add(-1);nums.add(23);nums.add(231);nums.add(-24);System.out.println(nums);System.out.println(nums.first());System.out.println(nums.last());System.out.println(nums.headSet(8));System.out.println(nums.tailSet(20));System.out.println(nums.subSet(-2,8));}}