Map集合,就是有一对属性值的集合,属性包含key,和value。关键字key是唯一不重复的。Map是一个有序的集合,所以查询起来速度很快。而HashSet就像是把HashMap中value去掉,说白了就是只有一个key的HashMap集合。Set是数学中定义的集合,所以元素无序, 且不能重复添加。
HashMap :使用hash算法,里面的数据是无序的;并且存储的是键值对
HashSet :内部封装了hashmap,故也是无序的;因为实现set接口,存储的是key
TreeSet : 依靠TreeMap实现,implement Comparable接口 重写compareTo(),add()的时候会调用compareTo()方法进行比较,然后根据比较结果使用二叉树形式进行存储,不允许重复
例,数组去重复
String str[] = { "h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d","!" }; Set<String> set = new HashSet<String>(); for (String string : str) { set.add(string); } for (String string : set) { System.out.print(string); }