JAVA学习第九天

来源:互联网 发布:二维数组赋值汉字 编辑:程序博客网 时间:2024/05/29 04:45

枚举
泛型
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

//ArrayListpackage 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();         }}

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

0 0
原创粉丝点击