学习笔记:
目录、
程序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
}