本帖最后由 Kevin.Kang 于 2015-7-17 14:42 编辑
- package com.kxg.set;
- import java.util.HashSet;
- import java.util.Set;
- /*
- * Collection
- * |--List
- * 有序(存储和取出顺序一致),可重复
- * |--Set
- * 无序(存储和取出顺序不一致),唯一
- *
- * HashSet:不保证set的迭代顺序,特别是它不保证该顺序恒久不变。
- *
- * 注意:
- * 虽然集合是无序的,但作为集合肯定有自己的存储顺序,而你的顺序恰好和它的存储顺序一致,
- * 这代表不了有序,可以多存储一些元素,就可以看到效果。
- *
- * HashSet保证元素唯一性,底层依赖的是:hashCode()和equals()方法。
- * 步骤:
- * 首先比较哈希值
- * 如果相同:
- * 比较地址值或者equals()进行比较
- * 如果不同:
- * 直接添加到集合中
- * String类中,已经重写了hashCode()和equals()方法。
- * 自定义类中没有重写,默认使用Obeject中的,一般来说都是不同的,所以需要自己重写(有快捷键)。
- */
- public class SetDemo {
- public static void main(String[] args) {
- Set<String> set = new HashSet<String>();
- set.add("hello");
- set.add("world");
- set.add("world");
- set.add("hello");
- set.add("android");
- set.add("world");
- for (String s : set) {
- System.out.println(s);
- }
- }
- }
复制代码
|
|