java---Set,Date
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); } }
一纸高中万里风,寒窗读破华堂空。
莫道长安花看尽,由来枝叶几相同?