import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
public class basicGeneric {
public static void main(String[] args) {
List<String>c=new ArrayList<String>();
c.add("aaa");
c.add("bbb");
c.add("ccc");
for(int i=0;i<c.size();i++){
String s=c.get(i);
System.out.println(s);
}
Collection<String>c2=new HashSet<String>();
c2.add("aaa");c2.add("bbb");c2.add("ccc");
for(Iterator<String> it=c2.iterator();it.hasNext();){
String s=it.next();
System.out.println(s);
}
}
}
class MyName implements Comparable <MyName>{
int age;
public int compareTo(MyName mn){
if(this.age>mn.age)
return 1;
else if(this.age<mn.age)
return -1;
else
return 0;
}
}
一个典型的泛型
import java.util.ArrayList;
import java.util.Collection;
//List接口是Collection的子接口,实现List接口的容器类的元素是有顺丰
//顺序的,而且可以重复
//
public class TestList {
public static void main(String[] args) {
//父类引用指向子类对象,该引用不能调用子类独有的方法
// Collection co=new ArrayList();
//Object co=new ArrayList();
ArrayList co=new ArrayList();
co.add("wo");
co.add("ai" +"zhong"+"liu"+"e");
co.add("我");
co.add("爱");
co.add("钟");
co.add("我");
co.add(0, "爱");
co.set(1, "哈哈");
//输出该字符容器的长度
System.out.println(co.size());
//输出该字符串
System.out.println(co);
//输出该字符串的第一个元素
System.out.println(co.get(0));
//某一元素出现的第一个位置
System.out.println(((ArrayList) co).indexOf( "wo"));
//删除元素
System.out.println(co.remove("wo"));
System.out.println(co.size());
//该元素最后出现的位置
System.out.println(co.lastIndexOf("我"));
}
}
List常用算法,java.util.Collections提供了一些工具类
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
//List常用算法,void sort(list)
public class TestList_1 {
public static void main(String[] args) {
List li=new LinkedList();
for(int i=0;i<6;i++){
li.add(i);
}
li.set(2, 100);
System.out.println(li);
//java.util.Collections提供了一些静态方法实现
//了基于list容器的一些常用算法
//对li进行排序,是基于unicode编码排序
Collections.sort(li);
System.out.println(li);
//进行随机排列
Collections.shuffle(li);
System.out.println(li);
//进行逆序排列
Collections.reverse(li);
System.out.println(li);
//用一个特定的对象重写整个List容器
List dest=new LinkedList();
for(int i=0;i<6;i++){
dest.add(i);
}
Collections.copy(dest, li);
System.out.println(dest);
//对于顺序的List容器,采用折半查找的方法查找特定对象
Collections.sort(dest);
System.out.println(dest);
int num=Collections.binarySearch(dest, 3);
System.out.println(num);
}
}
两个自动打包解包程序
import java.util.HashMap;
import java.util.Map;
public class TestUnBox {
public static void main(String[] args) {
Map m1=new HashMap();
//Map类中的自动打包解包程序,如下为打包
m1.put("one", 1);
//m1.put("one",new Integer(1));
m1.put("two", 200);
System.out.println(m1.size());
System.out.println(m1.containsKey("one"));
//如下为解包
if(m1.containsKey("two")){
//如下为解包
//int i=((Integer)m1.get("two")).intValue();
int i=(Integer)m1.get("two");
System.out.println(i);
}
}
}
import java.util.HashMap;
import java.util.Map;
//自动打包和解包
public class TestArgsWords {
// private static final Integer ONE=new Integer(1);
private static final int ONE=1;
public static void main(String[] args) {
Map m=new HashMap();
for(int i=0;i<args.length;i++){
//Integer freq=(Integer)m.get(args[i]);
//int freq=(Integer)m.get(args[i]);
int freq=(Integer)m.get(args[i]==null?0:(Integer)m.get(args[i]));
//m.put(args[i], freq==null?ONE:new Integer(freq.intValue()+1));
m.put(args[i], freq==0?ONE:freq+1);
}
System.out.println(m.size());
}
}