❶ 請問java中Map集合的鍵是否只能為String類型
Map的鍵是任意類型的
null不是類型 ,任何泛型都可以容納null。
Map<Integer,Integer> intintMap = new HashMap<>();
intintMap.put(1,null);是可以的;
❷ java中集合Map中的鍵如果是int型,如何使它對應的值按照從大到小的順序輸出呢
最簡單的辦法是把這個map放到一個TreeMap裡面,TreeMap遍歷的話直接是排好序的。
假設給你的Map是input,
TreeMap tm = new TreeMap(input);
//descendingKeySet代表反序
Iterator i=tm.descendingKeySet().iterator();
然後用i來遍歷就是按從大到小的順序遍歷key了
Integer的話自己就實現Comparator,equals和hashcode了
❸ 〈java〉map有沒有類似數組的下標索引一個map〈Int, String〉的字元串可以按照0
java中map是無序的,list才是有序的。
Map以按鍵/數值對的形式存儲數據,和數組非常相似,在數組中存在的索引,它們本身也是對象。
Map的介面
Map---實現Map
Map.Entry--Map的內部類,描述Map中的按鍵/數值對。
SortedMap---擴展Map,使按鍵保持升序排列
關於怎麼使用,一般是選擇Map的子類,而不直接用Map類。
下面以HashMap為例。
public static void main(String args[])
{
HashMap hashmap = new HashMap();
hashmap.put("Item0", "Value0");
hashmap.put("Item1", "Value1");
hashmap.put("Item2", "Value2");
hashmap.put("Item3", "Value3");
Set set = hashmap.entrySet();
Iterator iterator = set.iterator();
while (iterator.hasNext()
{
Map.Entry mapentry = (Map.Entry) iterator.next();
System.out.println(mapentry.getkey() + "/" + mapentry.getValue());
}
}
注意,這里Map的按鍵必須是唯一的,比如說不能有兩個按鍵都為null。
如果用過它,就會知道它的用處了。
又比如:
Map<String, Order> map = new HashMap<String, Order>();
map.put("Order", (Order) obj);
❹ java Map<key,values> Map<int,int> map=new Map<int,int>();這樣做為什麼會出錯
泛型的聲明必須是一個類,int是基本數據類型而不是一個類,這里應該用int的封裝類Integer做聲明,也就是Map<Integer,Integer> ,另外等號右邊Map是一個介面不能直接實例化,應該用其實現類比如HashMap<Integer,Integer>()
❺ java中Map類有什麼作用,具體怎麼用呢
map是以鍵值對來存儲數據的,例如:
Map map = new HashMap();
map.put("移動","10086");
String c = map.get("移動");
結果c="10086」;
簡單來說,map就像我們手機的電話本,用map.put("移動","10086"),就是在電話本保存了移動的電話,然後當你想拿移動的電話時候就用String c = map.get("移動");就可以拿到電話號碼了。其實學習結合生活實際比較容易理解,也學得快。
❻ java8的stream().mapToInt()什麼意思
Stream(流)是一個來自數據源的元素隊列並支持聚合操作
<strong元素隊列< strong="">元素是特定類型的對象,形成一個隊列。 Java中的Stream並不會存儲元素,而是按需計算。
數據源 流的來源。 可以是集合,數組,I/O channel, 產生器generator 等。
聚合操作 類似SQL語句一樣的操作, 比如filter, map, rece, find, match, sorted等。
可以試試這個輸出什麼:
String[] strarr = {"abc", "defg", "vwxyz"};
int iSum = Arrays.stream(strarr)
.mapToInt(s -> s.length())
.sum();
System.out.println("長度和: "+iSum);
(6)javamapint擴展閱讀:
Java還包括一個類的擴展集合,分別組成各種程序包(Package),用戶可以在自己的程序中使用。例如,Java提供產生圖形用戶介面部件的類(java.awt包),這里awt是抽象窗口工具集(abstract windowing toolkit)的縮寫,處理輸入輸出的類(java.io包)和支持網路功能的類(java.net包)。
❼ JAVA中MAP集合怎麼用
put接受的2個參數都是object,也就是說都是一個類對象,而int不屬於類對象,只是基本數據類型。你可以
map.put(new Integer(12),"sa")就可以了。
❽ java中的Map的鍵如果是自己寫的一個類的對象,怎麼根據這個鍵獲取值
重寫自定義對象的hashcode()方法,讓內容相同的對象返回一樣的hashcode..默認情況自定義對象是以內存地址為hashcode,你「重新創建一個一樣的對象」,存在「重新創建」就會導致對象不一樣...所以要重寫覆蓋hashcode方法才能獲取到map值
另外,也可以低層一點,你的自定義對象上設一個int
id屬性.
而Map轉為以id為鍵,比如Map<int,
Value>。
❾ java 中map問題
你Map<Double,Double> temp[] = new HashMap[classCount];這里才初始化一個map數組, 卻這個數組的成員全部都為null, 所以你put的時候報錯的。
你想初始化數組的成員後再用這個數組的話用for初始化:
for(int i = 0;i<temp.length;i++){
temp[i] = new HashMap<Double,Double>();
}
temp[2].put(1.0, 2.0);
這樣不會出錯。
還有一個方法就是你用temp[2].put(1.0, 2.0);之前得初始化第三個也就是temp[2]這個成員為new HashMap<Double,Double>();
這樣寫也沒有問題的。
祝你好運!
❿ java中map可以存放哪些信息
java map是以鍵值對的方式保存數據的,map中的鍵key和值value可以是各種對象,如String、Double、Integer、或者自己定義的類對象,不能是普通基本類型如int、double等