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