日期:2014-05-20  浏览次数:20997 次

求解集合
看过一些图片的解释,知道MAP,LIST,但不明白怎么用,求解高手给写个简单的小示例。

看资料了,资料上面解释了如何如何的理论,没有实际语法。

坐等。

------解决方案--------------------
Java code
List<Object> list=new ArrayList<Object>();
    list.add("a");
    list.add("b");//向集合中添加东西,可以为任何东西
    for(int i=0;i<list.size();i++){
        System.out.println(list.get(i));//取值,把集合里面的所有元素一个个循环取出来,打印的结果是 a b
    }

------解决方案--------------------
import java.util.*;

public class MapDemo{

public static void main(String[] args){

Map<String,String> map=new HashMap<String,String>();//[键-值]对的类型是Object

map.put("用户名","张三");
map.put("密码","1234");

map.put("学号","12345");//编译自动将值类型转换成对应的包装类型Integer:称为装箱操作
map.put("婚否","false");//编译自动将值类型转换成对应的包装类型Booblean:称为装箱操作

Object o=map.get("学号");//取到的就是Object
if(o instanceof Integer){
Integer i=(Integer)o;//转换成实际的子类型
//int id=i.intValue();//调用子类型对象的方法
int id=i;//可以被编译器自动转换int id=i.intValue();称为拆箱操作
}

o=map.get("婚否");//取到的就是Object
if(o instanceof Boolean){
Boolean b=(Boolean)o;//转换成实际的子类型
//boolean status=b.intValue();//调用子类型对象的方法
boolean status=b;//可以被编译器自动转换boolean status=b.intValue();称为拆箱操作
}

//访问每一个键-值对
//获取所有的键
System.out.println("使用Set接口访问");
Set<String> keySet=map.keySet();//获取Map对象的所有键集

Iterator<String> it=keySet.iterator();
while(it.hasNext()){

String key=it.next();//取到下一个键对象
String value=map.get(key);//再根据键对象取到关联的值对象
System.out.println(key+"="+value);

}

System.out.println("使用Entry接口访问");
Set<Map.Entry<String,String>> entrySet=map.entrySet();//获取Map对象的所有【键-值】集

Iterator<Map.Entry<String,String>> its=entrySet.iterator();
while(its.hasNext()){

//o=it.next();//取到下一个【键-值】对象
Map.Entry<String,String> entry=its.next();//转换成Map.Entry类型的对象
String key=entry.getKey();//调用Map.Entry类型的对象的取键值
String value=entry.getValue();//调用Map.Entry类型的对象的取值方法

System.out.println(key+"="+value);

}

//如何只获取关联的值集
System.out.println("只获得关联的值集");
Collection c=map.values();

// for( it=c.iterator();it.hasNext();){
// Object value=it.next();
// System.out.println(value);
// }
// System.out.println();
for(Object ob:c){
System.out.println(ob);
}

//如果提供一个不存在的键,则取到的就是空
o=map.get("姓名");
if(null==o){

System.out.println("不存在姓名键值条目");

}
//如果在加入的时候,提供了相同的键,则后提供的键-值将冲掉原来的键值条目
map.put("学号","54321");
System.out.println(map);

//如何判断在集合石否存在某个键或者某个值
if(!map.containsKey("姓名")){
System.out.println("不存在姓名键值条目");
}
}

}

以上是我学习集合类的时候写的一些东西 希望对楼主有用