⑴ java,根據一個動態的map如何動態 往 Object[] array=new Object[];添加值
這不是很簡單嗎。。你肯定是先有map,然後才能確定array的大小
Map<String,Object>map=newHashMap<String,Object>();
Object[]array=newObject[map.size()];
⑵ 請問Java中Map集合如何使用key值和value值如何用請說的詳細一點
Map是成對放的,一放一對。。分成KEY和VALUE
Map分為HashMap或Hashtable、LinkedHashMap和TreeMap幾個,
其中HashMap是新版的,線程不安全的,Hashtable是線程安全的。
Map是一種把鍵對象和值對象進行關聯的容器,而一個值對象又可以是一個Map,依次類推,這樣就可形成一個多級映射。對於鍵對象來說,像Set一樣,一個Map容器中的鍵對象不允許重復,這是為了保持查找結果的一致性;如果有兩個鍵對象一樣,那你想得到那個鍵對象所對應的值對象時就有問題了,可能你得到的並不是你想的那個值對象,結果會造成混亂,所以鍵的唯一性很重要,也是符合集合的性質的。當然在使用過程中,某個鍵所對應的值對象可能會發生變化,這時會按照最後一次修改的值對象與鍵對應。對於值對象則沒有唯一性的要求。你可以將任意多個鍵都映射到一個值對象上,這不會發生任何問題(不過對你的使用卻可能會造成不便,你不知道你得到的到底是那一個鍵所對應的值對象)。Map有兩種比較常用的實現:HashMap和TreeMap。HashMap也用到了哈希碼的演算法,以便快速查找一個鍵,TreeMap則是對鍵按序存放,因此它便有一些擴展的方法,比如firstKey(),lastKey()等,你還可以從TreeMap中指定一個范圍以取得其子Map。鍵和值的關聯很簡單,用put(Object key,Object value)方法即可將一個鍵與一個值對象相關聯。用get(Object key)可得到與此key對象所對應的值對象。
import java.util.*;
class HashMapDemo {
public static void main(String args[]) {
// Create a hash map
HashMap hm = new HashMap();
// Put elements to the map
hm.put("John Doe", new Double(3434.34));
hm.put("Tom Smith", new Double(123.22));
hm.put("Jane Baker", new Double(1378.00));
hm.put("Todd Hall", new Double(99.22));
hm.put("Ralph Smith", new Double(-19.08));
// Get a set of the entries
Set set = hm.entrySet();
// Get an iterator
Iterator i = set.iterator();
// Display elements
while(i.hasNext()) {
Map.Entry me = (Map.Entry)i.next();
System.out.print(me.getKey() + ": ");
System.out.println(me.getValue());
}
}
由Map.Entry定義的getKey( )和getValue( )方法而顯示。程序開始創建一個散列映射,然後將名字的映射增加到平衡表中。接下來,映射的內容通過使用由調用函數entrySet( )而獲得的集合「視圖」而顯示出來。關鍵字和值通過調用
⑶ Java中怎麼遍歷map中value值
Java中遍歷Map對象的4種方法:
1、通過Map.entrySet遍歷key和value,在for-each循環中使用entries來遍歷.推薦,尤其是容專量大時。
(3)javaarrarymap值擴展閱讀:
關於JAVA的遍歷知識補充:
1、list和set集合都實現了Iterable介面,所以他們的實現類可以使用迭代器遍歷,map集合未實現該介面,若要使用迭代器循環遍歷,需要藉助set集合。
2、使用EntrySet 遍歷,效率更高。
⑷ java獲取map中值最小的
importjava.util.Arrays;
importjava.util.Collection;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Set;
publicclassMinMapDemo{
publicstaticvoidmain(String[]args){
Map<Integer,Integer>map=newHashMap<Integer,Integer>();
map.put(1,8);
map.put(3,12);
map.put(5,53);
map.put(123,33);
map.put(42,11);
map.put(44,42);
map.put(15,3);
System.out.println(getMinKey(map));
System.out.println(getMinValue(map));
}
/**
*求Map<K,V>中Key(鍵)的最小值
*@parammap
*@return
*/
publicstaticObjectgetMinKey(Map<Integer,Integer>map){
if(map==null)returnnull;
Set<Integer>set=map.keySet();
Object[]obj=set.toArray();
Arrays.sort(obj);
returnobj[0];
}
/**
*求Map<K,V>中Value(值)的最小值
*@parammap
*@return
*/
publicstaticObjectgetMinValue(Map<Integer,Integer>map){
if(map==null)returnnull;
Collection<Integer>c=map.values();
Object[]obj=c.toArray();
Arrays.sort(obj);
returnobj[0];
}
}
⑸ java Map 根據Map的值(value)取鍵(key)
java根據Map的值(value)取鍵(key) 的實現方法有4種,分別為:
(1)使用for循環遍歷
(2)使用Iterator迭代器
(3)使用KeySet迭代
(4)使用EnterySet迭代
下面為以上4種方法具體實現的代碼:
1、使用for循環遍歷
public static Object getKey(HashMap<Object,Object> map, String v) {
String key = "";
for (Map.Entry<String, Object> m :map.entrySet()) {
if (m.getValue().equals(v)) {
key = m.getKey();
}}
return key;
}
⑹ java中如何使用map存取數據
java中使用map存取數據的方法如下:
1、需要指定其中的K,V;k=keyv=value。
⑺ java中 list和array哪個效率高map是如何取值的
List底層就是數組,是動態數組,所以存儲效率差不多,但是查詢效率會比array高
map是通過鍵值對存數據的,所以通過key取值,比如map.get(String
key)
希望對你有幫助
⑻ java中關於map值修改問你
你要搞清楚值傳遞和引用傳遞,還有就是基本數據類型和引用數據類型,基本數據類型傳遞的是值,而引用數據類型傳遞的是一個地址值,只要是傳遞地址值的你改變後哪裡都會改變,map也是引用類型,基本類型只有那8種,你知道吧.
⑼ Java 怎麼把數組中存的map 值 取出來 模板類中
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
Map map ;
for(int i = 0;i<5;i++){
map = new HashMap<>();
map.put("name","king"+i);
list.add(map);
}
for(Map<String,String> map2:list){
System.out.println("map的值:"+map2.get("name"));
}
⑽ JAVA 中map和List實現一個鍵對應多個值
是的,你這樣定義肯定是要在加入map的時候新建一個list,當然你加入NULL也可以。...List list = new ArraryList();map.put("test",list);//或者:map.put("test",null);...在需要的時候再做一次put操作,把null值覆蓋就行了。