JAVA学习第九天
2015-07-24 18:11
676 查看
枚举
泛型
ArrayList
Calendar
用HashSet.iterator从十个随机数中遍历 最终10个数不重复
JSON
HashMap的使用
Student1
enum Sex
Animal
Cat
Dog
Pet
AnimalCatDogPet_Test`
StudentsComparator
JSON_Test1
泛型
ArrayList
Calendar
用HashSet.iterator从十个随机数中遍历 最终10个数不重复
JSON
HashMap的使用
枚举
//enum枚举 package com.lingzhuo.test; public class SexEnum_Test { public static void main(String[] args) { // TODO Auto-generated method stub Student1 zhangsan=new Student1();//学生对象 zhangsan.setSex(Sex.MALE); System.out.println(zhangsan.getSex()); zhangsan.setSex(Sex.FEMALE); switch (zhangsan.getSex()) { case MALE: System.out.println("张三的性别"+"男的"); break; case FEMALE: System.out.println("张三的性别"+"女的"); break; default: break; } } }
Student1
package com.lingzhuo.test; public class Student1 { private Sex sex;//Sex为类型 private String name; private int age; public Sex getSex() { return sex; } public void setSex(Sex sex) { this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
enum Sex
//枚举 package com.lingzhuo.test; public enum Sex { MALE,FEMALE }
HashMap的使用
///HashMap<String, Student> clazz = new HashMap<String, Student>();使用方法 package com.donghe.test; import java.util.HashMap; import java.util.Iterator; import java.util.Set; public class HashMap_Test { public static void main(String[] args) { // TODO Auto-generated method stub //HashMap<K,V> HashMap<String, String> countries = new HashMap<String, String>(); countries.put("CN", "中国");//使用的是put countries.put("USA", "美国"); countries.put("JP", "日本"); countries.put("UK", "英国"); System.out.println(countries.get("UK")); HashMap<String, Student> clazz = new HashMap<String, Student>(); clazz.put("zhangsan", new Student(20, "张三")); clazz.put(null, new Student(20, "李四")); //hashmap低层是有一个数组类型是Entry和链表的结构构成的 //具体会先在 Entry table [0]下找里面有没有K为null的,如果没有就加进 Entry table [0]链表里并返回null clazz.put("wangwu", null);//空指针异常 clazz.put("lisi", new Student(20, "赵六")); Set<String> keys = clazz.keySet();//Set集合 放keys的集合 //Set一个不包含重复元素的 collection Iterator<String> it = keys.iterator(); //Set.iterator()返回在此 set 中的元素上进行迭代的迭代器。 while (it.hasNext()) {//是否有 // System.out.println(it.next()); String key=it.next();//有就拿 注意不要用重复了 用一个拿一个 System.out.println(key+"--------"+clazz.get(key).getName()); } } }
//泛型
student//泛型 //一个人拥有一些宠物 比如猫 狗 猫和狗都属于动物 但是他还有电子pet 不属于动物 // package com.donghe.test; public class Student<T extends Animal> { private T pet; // T为类型 public T getPet() { return pet; } public void setPet(T pet) { this.pet = pet; } public Student(){ } public Student(int age,String name){ this.age=age; this.name=name; } private int age; private String name; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
Animal
package com.donghe.test; public class Animal { }
Cat
package com.donghe.test; public class Cat extends Animal { }
Dog
package com.donghe.test; public class Dog extends Animal { }
Pet
package com.donghe.test; public class Pet { }
AnimalCatDogPet_Test`
package com.donghe.test; public class AnimalCatDogPet_Test { public static void main(String[] args) { // TODO Auto-generated method stub Student<Cat> zhangsan=new Student<Cat>(); Cat tom=new Cat(); zhangsan.setPet(tom); zhangsan.getPet(); Student<Dog> lisi=new Student<Dog>(); lisi.setPet(new Dog()); // Student<Pet> wangwu=new Student<Pet>();//不允许的 会报错 宠物类型不对 是电子宠物但不是动物 // wangwu.setPet(new Pet()); } }
ArrayList
//ArrayList package com.donghe.test; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class ArrayList_Test { public static void main(String[] args) { //数组放的是统一类型的 内存大小是规定的可以写入数据覆盖 //但是数组列表放的可以不是同一类型的 可以申请连续空间 并且本身是连续的内存 //增加或者删除都会影响后面的数组链表的下标的变化 也就是地址不一样了 从插入点或者删除点一起向上平移或者向下评议 List<Student> students=new ArrayList<Student>();//创建一个students列表 Student zhangsan=new Student(26,"张三"); students.add(zhangsan); Student lisi=new Student(20,"李四"); Student lisi1=new Student(20,"李四"); students.add(lisi); Student wangwu=new Student(23,"王五"); students.add(wangwu); students.add(lisi); students.add(wangwu);//数组列表中存放的是指向名字的地址 students.get(3).setName("nihao a ");//把地址改了 System.out.println(students.contains(lisi1));//是否存在李四 Collections.sort(students, new StudentsComparator());//排序的关键语句 //Collections集合中的sort方法 可以对数组链表进行排序 //sort(List<T> list, Comparator<? super T> c) 根据指定比较器产生的顺序对指定列表进行排序。 //需要更改比较器 改一些参数 for (int i = 0; i < students.size(); i++) { Student s=students.get(i);//从students列表中得到一个学生 System.out.println(s.getName()+"----------"+s.getAge()); } System.out.println("-------------"); for(Student s:students){//后面放的是从哪里面取 前面是构造一个对象 System.out.println(s.getName()); } } }
StudentsComparator
package com.donghe.test; import java.util.Comparator; public class StudentsComparator implements Comparator<Student>{ @Override public int compare(Student s1, Student s2) { // TODO Auto-generated method stub System.out.println(s1.getAge()-s2.getAge()); return s1.getAge()-s2.getAge();//根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。 //默认为升序 反过来减的话是降序 //返回0为自然序列 } }
Calendar_Test
package com.donghe.test; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Calendar_Test { public static void main(String[] args) { Date date=new Date();//得到系统时间 Calendar calendar=Calendar.getInstance(); System.out.println(date.getTime());//得到的是毫秒数 从1970开始到现在的时间的毫秒数 System.out.println(date.getDate());//号 System.out.println(date.getDay());//返回此日期表示的周中的某一天。 //(0 = Sunday, 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday) System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//星期日为第一天 今天星期五为 6//星期日为1 星期一为2 星期五为5 星期六为7与Date不同 Date星期天为0 System.out.println(date.getYear());//年 日期表示的年份减去 1900。 System.out.println(date.getMonth());//6 实际是7月 月份从零开始 System.out.println(date.getHours());//几点 System.out.println(date.getMinutes()); System.out.println(date.getSeconds());//38 System.out.println(date.getClass());//class java.util.Date System.out.println(date.getTimezoneOffset());//-480时区偏移 // System.out.println(calendar.get(Calendar.DATE));//几号 System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//几号与Calendar.DATE一样 System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//星期日为第一天 今天星期五为 6//星期日为1 星期一为2 星期五为5 星期六为7与Date不同 Date星期天为0 System.out.println("----------"); System.out.println(calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));//常量 指示当前月中的第几个星期 System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//205指示当前年中的天数。 System.out.println(calendar.get(Calendar.HOUR));//12小时制 System.out.println(calendar.get(Calendar.HOUR_OF_DAY));//(Calendar.HOUR_OF_DAY)常量几点24小时制 System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));//当前月中的星期 System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));//当前年中的星期数 //第一个月是 JANUARY,它为 0 //JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER, UNDECIMBER, System.out.println("-----------------"); calendar.add(Calendar.HOUR, 50); calendar.add(Calendar.HOUR_OF_DAY, 2); System.out.println(calendar.get(Calendar.DAY_OF_MONTH)+"----"+calendar.get(Calendar.HOUR_OF_DAY)); SimpleDateFormat format=new SimpleDateFormat("yyyy/MM/dd kk:mm:ss"); SimpleDateFormat format1=new SimpleDateFormat("MM/dd/yyyy/年中的周数:ww/月份中的周数:WW/dd/DD/月份中的星期:F/E a:kk:mm:ss:SS 时区偏移:z"); // 而月份中的周数:WW是电脑右下角日期在本月中的第几行 月份中的星期:F是从1号开始算起过七天F加一 E是星期几会打印出当天 "星期几" 时区偏移:z打印的是时区:CST System.out.println(format1.format(date)); String s="2015/07/24 11:40:20";//时间格式必须与格式器的格式一样 包括空格 try { Date date1 = format.parse(s);//按格式解析一个时间字符串//将字符串解析为date System.out.println(format.format(date1)); System.out.println(date1.getDate()); } catch (ParseException e) { e.printStackTrace(); } } }
用HashSet.iterator从十个随机数中遍历 最终10个数不重复
///用HashSet.iterator从十个随机数中遍历 最终10个数不重复 //HashSet<Integer> set =new HashSet<Integer>(); package com.donghe.test; import java.util.HashSet; import java.util.Iterator; import java.util.Random; import javax.swing.plaf.synth.SynthEditorPaneUI; public class HashSetTest { public static void main(String[] args) { HashSet<Integer> set =new HashSet<Integer>();//构建一个空的set 不能写int 要为引用数据类型 Random random =new Random(); while(set.size()<10){ int i=random.nextInt(90)+10; set.add(i); } Iterator<Integer> it=set.iterator();//HashSet.iterator返回对此 set 中元素进行迭代的迭代器。 while(it.hasNext()){// Iterator.hasNext()如果仍有元素可以迭代,则返回 true。 System.out.println(it.next());// Iterator.next()返回迭代的下一个元素 } System.out.println(set.size()); } }
JSON
JSON_Test//JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式 package com.donghe.test; import java.io.File; import java.util.Arrays; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JSON_Test { public static void main(String[] args) { String json = creatJSONObject(); if (null != json) { JSONObject clazz = JSONObject.fromObject(json);//将json字符串变为JSON对象 // String testrString = "{\"abc\" : \"[123]\"}";//双引号前加\ // JSONObject reqjson = JSONObject.fromObject(testrString); // // 这个字符串转JSON对象后变成了 {abc : [123]}; // // 本来是字符串 “[123]" 就变成了 [123] 转成数组了。 JSONArray array = clazz.getJSONArray("clazz");//JSON数组 for (int i = 0; i < array.size(); i++) { JSONObject obj = array.getJSONObject(i); System.out.println(obj.getString("name")+"----------"+obj.getString("age")); } } // String json = creatJSONObject(); // if(null!=json){ // JSONObject clazz=JSONObject.fromObject(json); // System.out.println(clazz.getString("clazzname")); // JSONArray array=clazz.getJSONArray("students"); // // JSONObject obj=array.getJSONObject(0); // System.out.println(Arrays.toString(array)); // for (int i = 0; i < array.size(); i++) { // JSONObject obj=array.getJSONObject(i); // System.out.println(obj.getString("name")); // } // // } } public static String creatJSONObject() { Student zhangsan = new Student(20, "张三"); Student lisi = new Student(21, "李四"); Student wangwu = new Student(19, "王五"); Student zhaoliu = new Student(18, "赵六"); Student maqi = new Student(16, "麻七"); JSONObject obj = new JSONObject(); JSONArray array = new JSONArray(); array.add(zhangsan);// 数组用的是添加add array.add(lisi); array.add(wangwu); array.add(zhaoliu); array.add(maqi); obj.put("clazz", array);// put System.out.println(obj.toString()); return obj.toString(); } // public static String creatJSONObject(){ // JSONObject obj=new JSONObject(); // obj.put("name","张三"); // JSONObject obj2=new JSONObject(); // obj2.put("name","李四"); // JSONObject obj3=new JSONObject(); // obj3.put("name","王五"); // JSONArray array=new JSONArray(); // array.add(obj); // array.add(obj2); // array.add(obj3); // // JSONObject clazz=new JSONObject();//对象 // clazz.put("clazzname","一年级一班"); // clazz.put("students", array); // clazz.put("num", 3); // System.out.println(clazz.toString()); // return clazz.toString(); // } }
JSON_Test1
package com.donghe.test; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JSON_Test1 { public static void main(String[] args) { // TODO Auto-generated method stub String json = creatJSONObject(); if(null!=json){ JSONObject clazz=JSONObject.fromObject(json); System.out.println(clazz.getString("clazzname")); JSONArray array=clazz.getJSONArray("students"); // JSONObject obj=array.getJSONObject(0); // System.out.println(Arrays.toString(array)); for (int i = 0; i < array.size(); i++) { JSONObject obj=array.getJSONObject(i); System.out.println(obj.getString("name")); } } } public static String creatJSONObject(){ JSONObject obj=new JSONObject(); obj.put("name","张三"); JSONObject obj2=new JSONObject(); obj2.put("name","李四"); JSONObject obj3=new JSONObject(); obj3.put("name","王五"); JSONArray array=new JSONArray(); array.add(obj); array.add(obj2); array.add(obj3); JSONObject clazz=new JSONObject();//对象 clazz.put("clazzname","一年级一班"); clazz.put("students", array); clazz.put("num", 3); System.out.println(clazz.toString()); return clazz.toString(); } }
相关文章推荐
- java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
- Java 四种引用
- 解决Spring MVC ResponseBody 乱码问题
- java机制
- Base64编码的java实现
- java--随笔日记--继承,封装和多态之Java中的父子关系
- 1、Java_Scanner语句
- 在web项目中使用cxf开发webservice,包含spring支持
- Java FastJson 源码分析(一) 之 简单应用
- 快速排序算法原理及java递归实现
- java 输入与输出
- 【转】java 文件 读取目录下的所有文件(包括子目录)
- java程序一年里一个月有多少天
- 【JAVA】"骗人"的“replaceAll”
- JDK的安装及配置环境变量
- springmvc+spring+mybatis整合
- java 反射浅析
- 【java】itoo项目实战之百万数据查询优化收集与实践
- java多线程(九)线程中断
- java中基本类型与装箱基本类型“==”比较出现的几种情况