import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/*
* 1.1Set接口的特点
Set体系的集合:
A:存入集合的顺序和取出集合的顺序不一致
B:没有索引
C:存入集合的元素没有重复
*/
public class HashSetDemo {
public static void main(String[] args) {
Set<String> set=new HashSet<String>();//父类接口指向子类对象。
//向集合中添加字符串元素。
set.add("hello");
set.add("world");//set具有去重的方法。但是HashSet没有去重的方法。
set.add("java");
set.add("java");
//遍历集合;
//迭代器方法遍历:
Iterator<String> it=set.iterator();
while(it.hasNext())
{
System.out.print(it.next()+" ");
}
System.out.print("\n");
//增强for循环输出
for(String s:set)
{
System.out.print(s+" ");
}
}
}
HashSet唯一性原理
规则:新添加到HashSet集合的元素都会与集合中已有的元素一一比较
首先比较哈希值(每个元素都会调用hashCode()产生一个哈希值)
如果新添加的元素与集合中已有的元素的哈希值都不同,新添加的元素存入集合
如果新添加的元素与集合中已有的某个元素哈希值相同,此时还需要调用equals(Object obj)比较
如果equals(Object obj)方法返回true,说明新添加的元素与集合中已有的某个元素的属性值相同,那么新添加的元素不存入集合
如果equals(Object obj)方法返回false, 说明新添加的元素与集合中已有的元素的属性值都不同, 那么新添加的元素存入集合
import java.lang.management.ManagementPermission;
import java.util.Calendar;
import java.util.Date;
public class DateDemo {
/*
* Date: 表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间
* System.currentTimeMillis():返回的是当前系统时间,1970-1-1至今的毫秒数
*
* 构造方法:
* Date() :创建的是一个表示当前系统时间的Date对象
Date(long date) :根据"指定时间"创建Date对象
*/
public static void main(String[] args) {
Date d=new Date();
System.out.print(d);
//日历类
Calendar c =Calendar.getInstance();
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH);
int day=c.get(Calendar.DAY_OF_MONTH);
System.out.println(year+" "+month+" "+day);
}
}