您的位置:首页 > 编程语言 > Java开发

JAVA学习第九天

2015-07-24 18:11 676 查看
枚举

泛型

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

}








内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: