java中map中存储list集合问题。

这个没什么问题啊,map中放的是list的一个引用,等它取出list再赋给另一个list,同样也是给了个引用地址,等输出的时候再去内存单元中找值,发现有值就输出来。
附:所以list不管是什么时候加东西进去,其他对象有引用到它的都一样有值

❷ 关于java的集合,在list集合中添加map集合

Java中的集合包括三大类,它们是Set、List和Map,它们都处于java.util包中,Set、List和Map都是接口,它们有各自的实现类。Set的实现类主要有HashSet和TreeSet,List的实现类主要有ArrayList,Map的实现类主要有HashMap和TreeMap。Set中的对象不按特定方式排序,并且没有重复对象。但它的有些实现类能对集合中的对象按特定方式排序,例如TreeSet类,它可以按照默认排序,也可以通过实现java.util.Comparator接口来自定义排序方式。List中的对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,如通过list.get(i)方式来获得List集合中的元素。Map中的每一个元素包含一个键对象和值对象,它们成对出现。键对象不能重复,值对象可以重复。

❸ Java集合中List和 Map区别

一个是存储单列数据的集合,,另外一个是存储键和值这样的双列数的集合,List中存储的数据是有顺序的,并且允许重复。。。Map中存储的数据是没有顺序的,其键是不能重复的,它的值是可以有重复的。。。

List继承Collection接口,,Map不继承Collection接口。

❹ java,list<map>的用法,求指导=,=新手

Map map=new HashMap();

Map的使用:

注意Map里的对象是键值对:{key,value} eg.{"username","godelegant"}
取出有多种方法,比较常用的有
1、在知道Key的情况下,直接map.get(key); eg. map.get("username");
2、在不知道key的情况下,使用iterator(迭代器)来得到,注意下面的代码

Map map=new HashMap();
map.put("a","123");
map.put("b","234");

Set keySet = map.keySet(); // 得到key的set
Iterator iter = keySet.iterator();
while(iter.hasNext()){
String key = (String)iter.next();
String value = map.get(key);
System.out.println(key+":"+value);
}
}

上面你的问题:
Map map2 = new HashMap();
map2 = atxt.get(0); //报错,Type mismatch: cannot convert from Object to Map

这是因为:你的JVM不知道你的list里面装的是什么类型,你取出来的时候,你也没告诉他是什么类型,直接给了Map类型的变量才出错。

这样写:
Map map2 = (Map)atxt.get(0);

或者:
List<Map> atxt = new ArrayList<Map>();
...
Map map2 = atxt.get(0);

❺ java list<map> 排序

用我这个排序不是更简单么

importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.Comparator;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;

publicclass${

publicstaticvoidmain(String[]args){

List<Map<Object,Object>>list=newArrayList<Map<Object,Object>>();

Map<Object,Object>map=newHashMap<Object,Object>();

Map<Object,Object>map1=newHashMap<Object,Object>();
Map<Object,Object>map2=newHashMap<Object,Object>();
Map<Object,Object>map3=newHashMap<Object,Object>();

map.put("number",1);
map1.put("number",2);
map2.put("number",4);
map3.put("number",3);
list.add(map);
list.add(map1);
list.add(map2);
list.add(map3);

Collections.sort(list,newComparator<Map<Object,Object>>(){

publicintcompare(Map<Object,Object>o1,Map<Object,Object>o2){

intmap1value=(Integer)o1.get("number");
intmap2value=(Integer)o2.get("number");

returnmap1value-map2value;
}
});
System.out.println(list);
}
}

❻ java list 与map有什么区别

list是存储单列数据的集合,map是存储键和值这样的双列数据的集合,
List中存储的数据是有顺序,并且允许重复;
Map中存储的数据是没有顺序的,其键是不能重复的,它的值是可以有重复的。

❼ List<Map<String, String>> java怎么遍历

java中遍历list可以使用keyset来遍历,示例如下:

Map<String,Object>map=newHashMap<String,String>();
map.put("1","fds");
map.put("2","valu");
List<Map<String,String>>list=newArrayList<Map<String,String>>();
list.add(map);
for(Map<String,String>m:list)
{
for(Stringk:m.keySet())
{
System.out.println(k+":"+m.get(k));
}

}

❽ java中,List,ArrayList,Map集合的使用

List是接口,它存放的数据是有序,会确保以一定的顺序保存元素,使用是使用它的实例类,如ArrayList,LinkedList;如List<String> list=new ArrayList<>();

ArrayList是List的一个实例类,使用ArrayList可以顺序存放数据;
如:List<String> list=new ArrayList<>(); list.add("test");
获取数据:
for(int i=0;i<list.size();i++){
String str=list.get(i);
}

Map 是集合,是按键值对(key-value)存放数据, 使用时,使用Map的使用类HashMap<>,如Map<String,String> map=new HashMap<String,String>(); map.put("id","100000001");map.put("name","张三");
获取数据:

1、直接遍历

for (String key : map.keySet()) {

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

}

2、

Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();

while (it.hasNext()) {

Map.Entry<String, String> entry = it.next();

System.out.println("key= " + entry.getKey() + " and value= "

+ entry.getValue());

}

❾ java中list和map的区别

对于List的随机访问来说,就是只随机来检索位于特定位置的元素。 List 的 get(int index) 方法放回集合中由参数index指定的索引位置的对象,下标从“0” 开始。最基本的两种检索集合中的所有对象的方法。
Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。 Map没有继承于Collection接口 从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。

❿ java的List<Map>用法

//存放所有学生信息
List<Map<String,Object>> listStudentInfo=new ArrayList<Map<String,Object>>();
//定义学生1的一些属性

Map<String,Object> stu1=new HashMap<String, Object>();
stu1.put("sId", 111);//学号
stu1.put("sName", "张三");//姓名
stu1.put("sSex", "男");//性别
listStudentInfo.add(stu1);

//定义学生2的一些属性
Map<String,Object> stu2=new HashMap<String, Object>();
stu2.put("sId", 112);//学号
stu2.put("sName", "李四");//姓名
stu2.put("sSex", "女");//性别
listStudentInfo.add(stu2);
//得到所有学生信息
for( Map<String,Object> stu:listStudentInfo)
{
System.out.println("学号:"+stu.get("sId")+" 姓名:"+stu.get("sName")+" 性别:"+stu.get("sSex"));
}