⑴ 關於java 循環創建 Map<String, Object>的問題

html">Map<String,Map<String,Object>>map=newHashMap<String,Map<String,Object>>();
for(inti=0;i<3;i++){
Map<String,Object>mapchild=newHashMap<String,Object>();
mapchild.put("url",1);
mapchild.put("car_where",2);
mapchild.put("car_String",3);
mapchild.put("car_number",4);
map.put("map"+i,mapchild);
}
for(inti=0;i<map.size();i++){
//這裡面data.add(map.get("map"+i));
System.out.println(map.get("map"+i).get("url"));
}

⑵ java 怎麼實現這樣一個Map集合

java實現Map集合的方式如下:
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import org.junit.Test;

//Map集合取數據的四種方法
public class MapFetch {
// 第一種方法(傳統方法)
@Test
public void funOne() {
Map map = new HashMap();
map.put("1", "第一個數");
map.put("2", "第二個數");
map.put("3", "第三個數");
Set set = map.keySet();
Iterator it = set.iterator();
while (it.hasNext()) {
String key = (String) it.next();
String value = (String) map.get(key);
System.out.println(key + "=" + value);
}
}
}
}

⑶ java的集合框架 map 如何創建一個新對象

以下有幾個方法,你可以試試:

1.Map其實本身就是一個介面,如果你想要創建一個map的對版象也可以使用它權的實現類,常用有HashMap,TreeMap,至於怎麼創建只要new一下就可以了。

2.如果要是從map當中選取出一個對象map.get(Object key),然後強制轉化為你想要的類型,前提是你要知道該對象類型與你需要類型一致。

⑷ java如何聲明一個Map類型的方法

Map<String,String> map=new HashMap<String,String>();

public Map<String,String> goodsCart(String goodsid,String goodsprice){
map.put(goodsid, goodsprice);//這個地方要提出來 不能直接return
return map;
}

直接retrun 是個String類型專 而不屬是map類型

⑸ Java怎樣創建兩個KEY的MAP

就像在XY坐標系中,一個X刻度、一個Y刻度,會對應圖上的一個點,即pair(x, y) – > point,那麼就有創建一個點,或者根據(x, y)來尋求一個點的需求,如果用Python的語法表達,是這個樣子:
Python中表達pair KEY映射MAP的方法

Python

dict((x, y) : point)

dict ( ( x , y ) : point )

然而在JAVA中卻變得不容易,骨鉤了一下,有這么一些方法:
使用嵌套MAP
嵌套MAP實現雙KEY MAP

Java

Map<Integer, Map<Integer, V>> map = //...
// ...

map.get(2).get(5);

Map < Integer , Map < Integer , V >> map = //...
// ...
map . get ( 2 ) . get ( 5 ) ;

這種方法將水平的KEY切換成了垂直KEY,我們要找尋XY坐標系中(x, y)對應的點,其實可以先找x點的那條垂直線,然後找出這條垂直線上y高度的那個點。
但是要取得這個雙KEY的VALUE,得有2次GET,實例代碼沒有做第一次GET的NULL判斷,有隱患!並且感覺不是很直觀。
寫一個pair key的包裝類
pair key的包裝類

Java

public class Key {

private final int x;
private final int y;

public Key(int x, int y) {
this.x = x;
this.y = y;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Key)) return false;
Key key = (Key) o;
return x == key.x && y == key.y;
}

@Override
public int hashCode() {
int result = x;
result = 31 * result + y;
return result;
}

}

public class Key {
private final int x ;
private final int y ;
public Key ( int x , int y ) {
this . x = x ;
this . y = y ;
}
@Override
public boolean equals ( Object o ) {
if ( this == o ) return true ;
if ( ! ( o instanceof Key ) ) return false ;
Key key = ( Key ) o ;
return x == key . x && y == key . y ;
}
@Override
public int hashCode ( ) {
int result = x ;
result = 31 * result + y ;
return result ;
}
}

以這種方法提前包裝好一個類,類中有x和y兩個屬性,同時提供equals方法用於「點」的比較,提供hashCode用於使用在計算對象在散列表中的位置。
為什麼要覆蓋hashCode方法?請 參見鏈接
寫完這個pair類之後,就好用了:
實現了pair類之後的雙key的MAP寫法

Java

Map<Key, V> map = //...

map.get(new Key(2, 5));

Map < Key , V > map = //...
map . get ( new Key ( 2 , 5 ) ) ;

這種方法以更多的代碼為代價來實現pair key的map,pair class的編寫中,不能忘記覆蓋equals和hashcode方法,增加了代碼量,感覺不是很好用。
GOOGLE的HashBasedTable類庫
這種方法感覺才是最直觀,最好用的
使用GOOGLE的HashBasedTable實現PAIR KEY

Java

import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;

// 創建
Table<Long, Long, Point> plane = HashBasedTable.create();

// 新增
plane.put(1L, 2L, pointA);
plane.put(1L, 3L, pointB);
plane.put(1L, 4L, pointC);

// 獲取
Point pointA = plane.get(1L, 2L);
Point pointB = plane.get(1L, 2L);

import com . google . common . collect . HashBasedTable ;
import com . google . common . collect . Table ;
// 創建
Table < Long , Long , Point > plane = HashBasedTable . create ( ) ;
// 新增
plane . put ( 1L , 2L , pointA ) ;
plane . put ( 1L , 3L , pointB ) ;
plane . put ( 1L , 4L , pointC ) ;
// 獲取
Point pointA = plane . get ( 1L , 2L ) ;
Point pointB = plane . get ( 1L , 2L ) ;

驚嘆,好用。在JAVA語言里,寫成這樣的代碼,可稱之為藝術。
無限維度的KEY
有兩種方法可以實現無線維度的KEY,第一種和本文的第二種方法一樣,先寫一個CLASS,裡面有無限個屬性,然後作為MAP的KEY。
第二種,如果類型一樣,可以這樣子實現:
使用List作為無限MAP的KEY
Java

Map<List<Integer>, V> map = //...

Map < List <Integer> , V > map = //...

但是這種方法易出錯、不易讀,並且性能很低。
總結
要實現map的key是兩個綁定的屬性,或者稱之為pair key,個人認為首先使用google的HashBasedTable類庫,其次的方法是編寫對應的class。

⑹ java 我想創建一個Map<String."這里是一個list">怎麼創建

其實就是一個list數組,都有一個鍵 對應一個值
然後調用.get(i)方法取出數組的每一個鍵對應的值

⑺ Java 關於hashmap的創建。

用hashmap好像是你自己想的,我覺得用treeMap不是更好,而且類已經實現Comparable介面了。

publicintcompareTo(Objectb){
StudentJavaScoresjs=(StudentJavaScore)b;
if(this.JavaScore>sjs.JavaScore)
return1;
elseif(this.JavaScore==sjs.JavaScore)
return0;
else
return-1;

}

compareTo方法應該類似這樣。你看看吧。

⑻ 如何創建map

確定創建map對象成功了?
創建成功之後有沒有設置對象容器(放在哪個html元素裡面顯示)
容器有沒有設置寬高,沒有寬高是看不到的.

⑼ 關於JAVA MAP怎麼初始化生成

首先你要理解 Map的基本結構,key-value

這里最外層的Map,key是String類型,value是ArrayList。ArrayList裡面放得又是Map,這個Map的key是String,value也是String。

importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.Map;

publicclassTest{
publicstaticvoidmain(String[]args){
Map<String,ArrayList<Map<String,String>>>topMap=newHashMap<>();

Stringkey1="map_key1";//topMap的第一個key
ArrayList<Map<String,String>>value1=newArrayList<>();//topMap的第一個value

//start
Map<String,String>strMap=newHashMap<>();
strMap.put("hello","你好");
strMap.put("thanks","謝謝");
value1.add(strMap);

value1.add(newHashMap<>());//添加一個空的Map
//end

topMap.put(key1,value1);//放入topMap

//以上start到end段的代碼是在往value1的ArrayList中填充數據
//不填充也可以放入到topMap中,就像下面這樣
topMap.put("emptyList",newArrayList<Map<String,String>>());
topMap.put("emptyList2",newArrayList<>());//jdk1.7及之後推薦這樣寫,省掉泛型描述。前面的newHashMap<>()、newArrayList<>()也是省掉了
}
}