學習筆記:
目錄、
程序1:使用JSon來傳輸網絡數據,
程序2:從B_Student類得到學生信息。並用JSONObject對象obj顯示出來
程序3:練習使用Date類和Calendar類
程序4:練習使用SimpleDateFormat類來格式化時間
程序5:ArrayList和Comparator和Collections
程序6:HashSet和Iterator迭代器
程序7:練習使用HashMap
程序8:使用“T”來限制
程序9:練習使用枚舉,enum
Collection存儲一組不唯一,無序
list存儲不唯一、有序、可以重複
Set存儲唯一 、無序
Arraylist內存連續的空間,長度可變。優點遍歷快,缺點插入數據慢
linkedlist內存非連續的空間,優點刪除數據方便,遍歷慢增加刪除快。
for each格式
for(Student(類名) s(實例化對象):Students(遍歷的數組))
HashSet:是一個無序的集,不可重複,但是可以快速查找制定對象。
HashMap(key,values)允許null key和nullvalues. (key不允許重複)。
HashTable不允許null key和nullvalues,線程安全的
程序1:
/*使用JSon來傳輸網絡數據,
* */
package com.day9_2015_07_24;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class A_JSon {
public static void main(String[] args) {
String json = createJSOn();
if(null!=json)
{
JSONObject clazz = JSONObject.fromObject(json);
System.out.println(clazz.getString("classesname"));
System.out.println(clazz.getString("num"));
JSONArray array = clazz.getJSONArray("students");
for (int i = 0; i < array.size(); i++) {
JSONObject obj = array.getJSONObject(i);
System.out.println(obj.getString("name"));
}
}
}
public static String createJSOn()
{
//一個大括號括起來的就是一個JSONObject
JSONObject object1 = new JSONObject();
object1.put("name", "張三");
JSONObject object2 = new JSONObject();
object2.put("name", "李四");
JSONObject object3 = new JSONObject();
object3.put("name", "王五");
//學生信息爲數組,多以要用JSONArray
JSONArray array = new JSONArray();
array.add(object1);
array.add(object2);
array.add(object3);
JSONObject classes = new JSONObject();
classes.put("classesname", "2012163班");
classes.put("num", "3");
classes.put("students", array);
//{"classesname":"2012163班","num":"3","students":[{"name":"張三"},{"name":"李四"},{"name":"王五"}]}
//System.out.println(classes.toString());
return classes.toString();
}
}
運行結果:
程序2:
/*從B_Student類得到學生信息。並用JSONObject對象obj顯示出來
* */
package com.day9_2015_07_24;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class B_JSon {
public static void main(String[] args) {
creatJSon();
}
public static String creatJSon()
{
B_Student zhangsan = new B_Student(12, "張三");
B_Student lisi = new B_Student(12, "李四");
B_Student wangwu = new B_Student(12, "王五");
B_Student zhaoliu = new B_Student(12, "趙六");
JSONArray array = new JSONArray();
array.add(zhangsan);
array.add(lisi);
array.add(wangwu);
array.add(zhaoliu);
JSONObject obj = new JSONObject();
obj.put("students", array);
System.out.println(obj.toString());
return obj.toString();
}
}
package com.day9_2015_07_24;
public class B_Student {
private int age;
private String name;
public B_Student(int age,String name)
{
this.age = age;
this.name = 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;
}
}
程序3:
/*練習使用Date和Calendar類
* */
package com.day9_2015_07_24;
import java.util.Calendar;
import java.util.Date;
public class C_Calendar {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);//Fri Jul 24 14:00:38 CST 2015
System.out.println(date.getDate());//24日
System.out.println(date.getDay());//5 一週第幾天
System.out.println(date.getHours());// 14點
System.out.println(date.getMinutes());// 0
System.out.println(date.getMonth());//6 實際是7月
System.out.println(date.getSeconds());//38
System.out.println(date.getTime());//1437717638663
System.out.println(date.getTimezoneOffset());//-480
System.out.println(date.getYear());//115
System.out.println(date.getClass());//class java.util.Date
System.out.println("---------------------");
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));//11
System.out.println(calendar.get(Calendar.MONTH));//6
System.out.println(calendar.get(Calendar.YEAR));//2015
System.out.println(calendar.get(Calendar.HOUR));//11
System.out.println(calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));//4
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//24
System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//6
calendar.add(Calendar.HOUR, 50);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH)+"---"+calendar.get(Calendar.HOUR));
}
}
程序4:
/*練習使用SimpleDateFormat類來格式化時間
* */
package com.day9_2015_07_24;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class D_SimpleDateFormate {
public static void main(String[] args) {
//Date date = new Date();
SimpleDateFormat dateFormate = new SimpleDateFormat("yyyy年-MM月-dd日 kk時-mm分-ss秒--SSS毫秒");
//System.out.println(dateFormate.format(date));
String s = "2015年-07月-24日 11時-42分-28秒--378毫秒";
try {
Date date = dateFormate.parse(s);
System.out.println(date.getDate());//24日
System.out.println(date.getDay());//5 一週第幾天
System.out.println(date.getHours());// 11時
System.out.println(date.getMinutes());//42分
System.out.println(date.getMonth());//6 月 月份從0開始
System.out.println(date.getSeconds());//28秒
System.out.println(date.getTime());//1437709348378
System.out.println(date.getTimezoneOffset());//-480
System.out.println(date.getYear());//115 2015-1900年
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
程序5
/*練習使用ArrayList,需要用到B_Student這個類。
* 使用Collections.sort(Students,comparator);這個方法對Students這個鏈表中學生的年齡進行排序,
* list存儲,存儲不唯一有序,可以重複
* */
package com.day9_2015_07_24;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class E_ArrayList {
public static void main(String[] args) {
List<B_Student> Students = new ArrayList<B_Student>();
B_Student zhangsan = new B_Student(16,"張三");
Students.add(zhangsan);
B_Student lisi = new B_Student(22,"李四");
Students.add(lisi);
B_Student wangwu = new B_Student(14,"王五");
Students.add(wangwu);
B_Student zhaoliu = new B_Student(19,"趙六");
Students.add(zhaoliu);
Students.add(zhangsan);
Students.get(4).setName("張無忌");
Students.remove(0);
B_Student zhaomin = new B_Student(22,"敏敏特穆爾");
Students.add(1, zhaomin);
// for (int i = 0; i < Students.size(); i++) {
// B_Student s=Students.get(i);
// System.out.println(s.getName());
// }
E_Comparator comparator = new E_Comparator();
Collections.sort(Students,comparator);
for(B_Student s:Students)
{
System.out.println(s.getName()+" "+s.getAge());
}
Students.toArray();
for (int i = 0; i < Students.toArray().length; i++) {
System.out.println("11111111111 "+((B_Student)(Students.toArray()[i])).getAge());
}
}
}
package com.day9_2015_07_24;
import java.util.Comparator;
public class E_Comparator implements Comparator<B_Student> {
@Override
public int compare(B_Student s1, B_Student s2) {
// TODO Auto-generated method stub
return s1.getAge()-s2.getAge();
}
}
程序6:
/*用HashSet和Random隨機生成10個兩位整數,將得到的兩位整數放在HashSet對象 set中。
* 存儲唯一,,無序
* */
package com.day9_2015_07_24;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
public class F_HashSet {
public static void main(String[] args) {
HashSet<Integer> set = new HashSet<Integer>();
Random random = new Random();
while(set.size()<10)
{
int i=random.nextInt(90)+10;
set.add(i);
}
Iterator<Integer> it = set.iterator();
int i=1;
while(it.hasNext())
{
System.out.println("第"+i+"個數字是:"+it.next());
i++;
}
}
}
程序7:
/*練習使用HashMap
* */
package com.day9_2015_07_24;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class G_HashMap {
public static void main(String[] args) {
HashMap<String,String> map = new HashMap<String,String>();
map.put("CN", "中國");
map.put("USA", "美國");
map.put("JP", "小日本");
//System.out.println(map.get("CN"));
HashMap<String,B_Student> map1 = new HashMap<String, B_Student>();
B_Student mjjz = new B_Student(20,"張無忌");
B_Student gmzs = new B_Student(30,"楊逍");
B_Student gmys = new B_Student(35,"範瑤");
B_Student zslg = new B_Student(31, "紫衫龍王");
B_Student jmsw = new B_Student(34, "金毛獅王");
B_Student qyfw = new B_Student(32, "青翼蝠王");
B_Student bmyw = new B_Student(45, "白眉鷹王");
map1.put("a", mjjz);
map1.put("b", gmzs);
map1.put("c", gmys);
map1.put("d", zslg);
map1.put("e", jmsw);
map1.put("f", qyfw);
map1.put("g", bmyw);
// 返回此映射中所包含的鍵的 Set 視圖。
Set<String> set = map1.keySet();
Iterator<String> it = set.iterator();
while(it.hasNext())
{
//System.out.println(it.next());
String key = it.next();
System.out.println(key+"---"+map1.get(key).getName());
}
}
}
運行結果:
程序8
package com.day9_2015_07_24;
public class J_main
{
public static void main(String[] args) {
J_Student<J_Dog> zhangsan = new J_Student<J_Dog>();
J_Dog dog1 = new J_Dog();
dog1.setName("哈巴狗");
zhangsan.setPet(dog1);
System.out.println(zhangsan.getPet().getName());//哈巴狗
System.out.println("-------");//-------
J_Student<J_EPet> lisi = new J_Student<J_EPet>();
J_EPet ePet = new J_EPet();
ePet.setName("胖胖熊");
lisi.setPet(ePet);
System.out.println(lisi.getPet().getName());//胖胖熊
}
}
package com.day9_2015_07_24;
//如果 T extends J_Animal ,則主函數中將不能夠再使用J_EPet類,因爲該類不是繼承自J_Animal。
public class J_Student<T > {
//T在這裏指的是貓狗或者電子寵物,具體是什麼不確定
private int age;
private String name;
public T getPet() {
return pet;
}
public void setPet(T pet) {
this.pet = pet;
}
private T pet;
public J_Student()
{
}
public J_Student(int age,String name)
{
this.age = age;
this.name = 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;
}
}
package com.day9_2015_07_24;
public class J_Animal {
}
package com.day9_2015_07_24;
public class J_Cat extends J_Animal{
}
package com.day9_2015_07_24;
public class J_Dog extends J_Animal {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.day9_2015_07_24;
public class J_EPet {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
程序9
/*練習使用枚舉,enum
* */
package com.day9_2015_07_24;
public class K_Main {
public static void main(String[] args) {
K_Student zhangsan = new K_Student(20, "張三");
zhangsan.setSex(K_Sex.MAIL);
System.out.println(zhangsan.getSex()); //運行結果:MAIL
switch(zhangsan.getSex())
{
case MAIL:
System.out.println("---------------");//運行結果:---------------
break;
case FEMAIL:
break;
}
}
}
package com.day9_2015_07_24;
public class K_Student {
private int age;
private String name;
private K_Sex sex;
public K_Sex getSex() {
return sex;
}
public void setSex(K_Sex sex) {
this.sex = sex;
}
public K_Student(int age,String name)
{
this.age = age;
this.name = 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;
}
}
package com.day9_2015_07_24;
public enum K_Sex {
MAIL,FEMAIL
}