郑云飞 发表于 2013-1-15 01:55:17

hashMap

package hashMap;import java.util.*;import java.util.Map.Entry;//map 是一种键值对 ,不能有重复的键 因此用set 作为其key最适合了public class HashMapTest{public static <K, V> void main(String[] args){//HashMap hm=new HashMap();//hm.put(1,"123");//hm.put(2,"456");//hm.put(3,"123");//hm.put(4,"456");//hm.put(5,"123");//hm.put(6,"456");//System.out.println(hm.get(1));//System.out.println(hm);////键试图操作//Set s=hm.keySet();//s.remove(1);//System.out.println(hm);////值视图操作//Collection col=hm.values();////col.add("789");//col.remove("456");//System.out.println(hm);////映射集合//Set keyvalue=hm.entrySet();//for(Object o:key_value)//{//Entry e=(Entry) o;//e.setValue("test");//System.out.println(e.getKey()+"------"+e.getValue());//}//hashMap与hashtable得区别:1.hashMap可以有空键,空值,hashtabe不可以有//2.hashmap是线程不安全的,hashitable是线程安全的(单线程使用hashMap多线程使用hashtable)//3.hashMap的效率高HashMap<Integer, Manager> hm=new HashMap<Integer, Manager>();Manager m1=new Manager(123,"郑云飞",22);Manager m2=new Manager(456,"xuanzi",18);hm.put(123, m1);hm.put(456, m2);if(hm.containsKey(123)){System.out.println("有此人");Manager mm=m1;System.out.println(mm);}else{System.out.println("无此人");}//遍历HashMap中的key何value的值Iterator<Integer> it=hm.keySet().iterator();while(it.hasNext()){//取出keyInteger key=it.next();//通过key取出valueManager mm=hm.get(key);//输出信息System.out.println("编号:"+mm.getId());System.out.println("姓名:"+mm.getName());System.out.println("年龄:"+mm.getAge());}}} 
package hashMap;class Manager{private int id;private String name;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}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;}public Manager(int id, String name, int age) {super();this.id = id;this.name = name;this.age = age;}public Manager(int id, String name){super();this.id = id;this.name = name;}@Overridepublic String toString() {// TODO Auto-generated method stubreturn "编号:"+id+"姓名:"+name+"年龄:"+age;}public static int test(int id,String name,int age){   System.out.println("编号:"+id+"姓名:"+name+"年龄:"+age);   return age;}} 
package hashMap;import java.io.FileInputStream;import java.lang.reflect.*;import java.util.ArrayList;import java.util.Collections;import java.util.Enumeration;import java.util.Properties;class MyReflect {//依据参数返回类对象 参数:public static Object getObject(String[] args,Class cl) throws Exception{int con_Args_Count = Integer.parseInt(args);//构造函数参数个数Class[] con_Class = new Class;//形参列表Object[] con_Object = new Object;//实参列表Object o = null;//获取对象的实例for(int i=0;i<con_Class.length;i++){if(args.equals("int")){con_Class = int.class;con_Object = Integer.parseInt(args);}if(args.equals("String")){con_Class = String.class;con_Object = args;}if(args.equals("char")){con_Class = char.class;con_Object = args.charAt(0);}if(args.equals("float")){con_Class = float.class;con_Object = Float.parseFloat(args);}if(args.equals("boolean")){con_Class = boolean.class;con_Object = Boolean.parseBoolean(args);}}Constructor con = cl.getDeclaredConstructor(con_Class);//获取class对象所表示的类或接口的指定构造方法o = con.newInstance(con_Object);//创建对象return o;}//依据参数执行方法 并返回结果 参数:public static Object invokeMethod(String[] args,Object o,Class cl) throws Exception{int con_Args_Count = Integer.parseInt(args);int me_Args_Count = Integer.parseInt(args);Class[] me_Class = new Class;Object[] me_Object = new Object;String me_Name = args;for(int i=0;i<me_Class.length;i++){Object[] oo = turn(args,args);me_Class = (Class)oo;me_Object = oo;}Method m = cl.getDeclaredMethod(me_Name,me_Class);Object result = m.invoke(o,me_Object);return result;}public static void main(String[] args) throws Exception{ Properties p=new Properties(); p.load(new FileInputStream("test.ini")); Enumeration e=p.propertyNames(); ArrayList al=new ArrayList(); while(e.hasMoreElements()) {String key=(String) e.nextElement();al.add(key); }Collections.sort(al);}public static Object[] turn(String cs,String os){Object[] o = new Object;if(cs.equals("int")){o = int.class;o = Integer.parseInt(os);}if(cs.equals("String")){o = String.class;o = os;}if(cs.equals("char")){o = char.class;package hashMap;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.Enumeration;import java.util.Properties;public class PropertiesTest{ public static void main(String[] args) throws FileNotFoundException, IOException{ Properties p=new Properties();//Properties p=System.getProperties();//System.out.println("当前系统:"+p.getProperty("os.name"));//System.out.println("当前系统版本:"+p.getProperty("os.version"));//System.out.println("当前java版本:"+p.getProperty("java.version"));//System.out.println("用户名:"+p.getProperty("user.name"));//p.load(new FileInputStream("test.ini"));//枚举器Enumeration e=p.propertyNames();while(e.hasMoreElements()){String key=(String) e.nextElement();//为了能读中文()System.out.println(key+"=="+new String(p.getProperty(key).getBytes("latin1"),"gbk"));}    }}                            package hashMap;import java.lang.reflect.*;import java.io.*;class ReflectTest{public static void main(String[] args) throws Exception{//BankCard bc=new BankCard("12","123456","zhangsan",123);BufferedReader br=new BufferedReader(new InputStreamReader(System.in));//获取待产生对象的类的名称System.out.println("请输入类名:");String className = br.readLine();//加载该类至内存 并获得该类的自描述Class对象Class cl = Class.forName(className);//通过自描述对象产生对象(假如该类有无参构造)Object o = cl.newInstance();System.out.println(o.getClass().getName());//获得待执行方法名System.out.println("请输入方法名:");String methodName = br.readLine();//通过类的自描述对象获得方法的描述对象if(methodName.equals("welcome")){Method m = cl.getMethod(methodName);m.invoke(o);}//通过方法的自描述对象执行该方法//System.out.println("对象m:"+m);else if(methodName.equals("insertCard")){Method m=cl.getMethod(methodName,BankCard.class);    m.invoke(o,bc);}/***调用主函数***/else if (methodName.equals("main")){Method m = cl.getMethod(methodName,new Class[]{String[].class});    m.invoke(o,(Object)new String[]{"",""});}else if(methodName.equals("test")){Method m=cl.getMethod(methodName,new Class[]{int.class,int.class});m.invoke(o,5,6);}//获得一个类的所有公共非构造方法System.out.println("All public method");Method[] mo = cl.getMethods();for(Method mm:mo){System.out.println(mm);}System.out.println("All method:");//获得一个类中所有非构造方法Method[] me = cl.getDeclaredMethods();for(Method mm:me){System.out.println(mm);}//所有的公共构造System.out.println("公共构造:");Constructor[] c = cl.getConstructors();for(Constructor cc:c){System.out.println(cc);}//所有构造System.out.println("所有构造:");Constructor[] cs = cl.getDeclaredConstructors();for(Constructor cs1:cs){System.out.println(cs1);}}};class Test{int a,b;Test(int a,int b){this.a=a;this.b=b;}public void test(int a,int b){a=9;b=8;System.out.println("a="+a+"b="+b);//System.exit(0);}public void test(int a){a=10;System.out.println(a);System.exit(0);}}; o = os.charAt(0);}if(cs.equals("float")){o = float.class;o = Float.parseFloat(os);}if(cs.equals("boolean")){o = boolean.class;o = Boolean.parseBoolean(os);}return o;}} 
页: [1]
查看完整版本: hashMap