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"));
}