孙鑫Java无难事08

D:\Setup\Java\jdk1.7.0_02\docs\technotes\guides\collections\index.html

 

迭代器(Iterator)
(1)对于有一些集合类,没有提供 get 操作,可以通过返回一个 迭代器 ,然后迭代集合当中的元素
(2)它提供了一种通用的方式,去访问集合中的元素
public static void printElements(Collection c) {
Iterator it=c.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
}

 

java.util.Arrays 对 数组 进行操作

 

MyStack
查看栈顶元素,并不移走栈顶元素

 

HashSetTest
如果要用 HashSet 来存放对象的话,那么这个对象就要去实现 hashCode() 与 equals() 方法

 

j2sdk1.4.1_02\tutorial


PropTest

 

ArrayListTest.java:

package com.smartdio.hello.jdt;
/**
 * @version 1.0 2012-1-15 下午11:24:49
 * @author 孔祥龙
 */
import java.util.*;
class ArrayListTest {

	public static void printElements(Collection c) {
		Iterator it=c.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//ArrayList al=new ArrayList();
		/*al.add("winsun");
		al.add("weixin");
		al.add("mybole");*/
		/*al.add(new Point(3,3));
		al.add(new Point(2,2));
		al.add(new Point(4,4));*/
		
		/*for(int i=0;i<al.size();i++)
		{
			System.out.println(al.get(i));
		}*/
		/*System.out.println(a1);
		Object[] objs=a1.toArray();
		for(int i=0;i<objs.length;i++)
		{
			System.out.println(objs[i]);
		}
		List l=Arrays.asList(objs);
		System.out.println(l);
		printElements(a1);*/
		//l.add("zhangsan");
		//Iterator it=a1.iterator();
		/*Iterator it=l.iterator();
		it.next();
		it.remove();
		while(it.hasNext()) {
			System.out.println(it.next());
		}*/
		Student s1=new Student(2,"zhangsan");
		Student s2=new Student(1,"lisi");
		Student s3=new Student(3,"wangwu");
		Student s4=new Student(2,"mybole");
		ArrayList a1=new ArrayList();
		a1.add(s1);
		a1.add(s2);
		a1.add(s3);
		a1.add(s4);
		Collections.sort(a1,Collections.reverseOrder());//new Student.StudentComparator());
		printElements(a1);

	}

}

class Point {
	int x,y;
	Point(int x,int y) {
		this.x=x;
		this.y=y;
	}
	public String toString() {
		return "x="+x+","+"y="+y;
	}
}

class Student implements Comparable {
	int num;
	String name;
	static class StudentComparator implements Comparator {	// 将 比较器 作为 Student 这个类的内部类;static: 用外部类的名称去产生内部类的对象
		public int compare(Object o1,Object o2) {
			Student s1=(Student)o1;
			Student s2=(Student)o2;
			int result=s1.num > s2.num ? 1 : (s1.num==s2.num ? 0 : -1);
			if(result==0) {
				result=s1.name.compareTo(s2.name);
			}
			return result;
		}
		//没实现 boolean equals(Object obj) 方法原因:
		//因为这个类是从 Object 派生而来,在 Object 这个类中,就有一个 equals 方法,
		//Student 这个类就继承了 equals 方法,
		//这个 equals 方法就相当于是实现了 Comparator 接口中的 equals 方法
	}
	Student(int num,String name) {
		this.num=num;
		this.name=name;
	}
	
	public int compareTo(Object o) {
		Student s=(Student)o;
		return num > s.num ? 1 : (num==s.num ? 0 : -1);
	}
	public String toString() {
		return num+":"+name;
	}
}

 

MyStack.java: 

package com.smartdio.hello.jdt;
import java.util.*;
/**
&nbsp;* @version 1.0 2012-1-19 下午7:02:23
&nbsp;* @author 孔祥龙
&nbsp;*/
class MyStack {//利用 LinkedList 类,实现栈结构

	private LinkedList l1=new LinkedList();
	public void push(Object o) {
		l1.addFirst(o);
	}
	public Object pop() {
		return l1.removeFirst();
	}
	public Object peek() {//查看栈顶元素,并不移走栈顶元素
		return l1.getFirst();
	}
	public boolean empty() {
		return l1.isEmpty();
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		MyStack ms=new MyStack();
		ms.push("one");
		ms.push("two");
		ms.push("three");
		
		System.out.println(ms.pop());
		System.out.println(ms.peek());
		System.out.println(ms.pop());
		System.out.println(ms.empty());

	}

}

 

HashSetTest.java:

package com.smartdio.hello.jdt;
import java.util.*;
/**
&nbsp;* @version 1.0 2012-1-19 下午9:10:03
&nbsp;* @author 孔祥龙
&nbsp;*/
class HashSetTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//HashSet<String> hs=new HashSet<String>();
		HashSet hs=new HashSet();
		/*hs.add("one");
		hs.add("two");
		hs.add("three");
		hs.add("one");*/
		hs.add(new Student(1,"zhangsan"));
		hs.add(new Student(2,"lisi"));
		hs.add(new Student(3,"wangwu"));
		hs.add(new Student(1,"zhangsan"));    //需重写 hashCode()
		
		Iterator it=hs.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}

	}

}

class Student {
	int num;
	String name;
	Student(int num,String name) {
		this.num=num;
		this.name=name;
	}
	//如果要用 HashSet 来存放对象的话,那么这个对象就要去实现 hashCode() 与 equals() 方法
	//也就是说,在这个类当中需要去覆盖基类的 hashCode() 与 equals() 方法
	public int hashCode() {
		return num*name.hashCode();
	}
	public boolean equals(Object o) {
		Student s=(Student)o;
		return num==s.num && name.equals(s.name);
	}
	public String toString() {
		return num+":"+name;
	}
}

 

PropTest.java:

package com.smartdio.hello.jdt;
import java.util.*;
import java.io.*;
/**
&nbsp;* @version 1.0 2012-1-20 下午7:59:00
&nbsp;* @author 孔祥龙
&nbsp;*/
class PropTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		/*Properties pps=System.getProperties();
		pps.list(System.out);*/
		Properties pps=new Properties();
		try {
			//通过 Eclipse 创建的 Java 工程,默认的根目录是 Java 工程的根目录,即 hello.jdt
			pps.load(new FileInputStream("./src/com/smartdio/hello/jdt/winsun.ini"));
			Enumeration enum2=pps.propertyNames();
			while(enum2.hasMoreElements()) {
				//System.out.println(enum2.nextElement());
				
				String strKey=(String)enum2.nextElement();
				String strValue=pps.getProperty(strKey);
				
				System.out.println(strKey+"="+strValue);
			}
		}
		catch(Exception e) {
			e.printStackTrace();
		}

	}

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值