黑马程序员技术交流社区
标题:
【记录】代码练习-HashSet集合
[打印本页]
作者:
Kevin.Kang
时间:
2015-7-15 16:06
标题:
【记录】代码练习-HashSet集合
本帖最后由 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);
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2