本文目錄一覽:
java Map 怎麼遍歷
關於java中遍歷map具體有四種方式,請看下文詳解。
1、這是最常見的並且在大多數情況下也是最可取的遍歷方式,在鍵值都需要時使用。
MapInteger, Integer map = new HashMapInteger, Integer();
for (Map.EntryInteger, Integer entry : map.entrySet()) {
System.out.println(“Key = ” + entry.getKey() + “, Value = ” + entry.getValue());
}
2、在for-each循環中遍歷keys或values。
如果只需要map中的鍵或者值,你可以通過keySet或values來實現遍歷,而不是用entrySet。
MapInteger, Integer map = new HashMapInteger, Integer();
for (Integer key : map.keySet()) {
System.out.println(“Key = ” + key);
}
for (Integer value : map.values()) {
System.out.println(“Value = ” + value);
}
該方法比entrySet遍歷在性能上稍好(快了10%),而且代碼更加乾淨。
3、使用Iterator遍歷
使用泛型:
MapInteger, Integer map = new HashMapInteger, Integer();
IteratorMap.EntryInteger, Integer entries = map.entrySet().iterator();
while (entries.hasNext()) {
Map.EntryInteger, Integer entry = entries.next();
System.out.println(“Key = ” + entry.getKey() + “, Value = ” + entry.getValue());
}
不使用泛型:
Map map = new HashMap();
Iterator entries = map.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry entry = (Map.Entry) entries.next();
Integer key = (Integer)entry.getKey();
Integer value = (Integer)entry.getValue();
System.out.println(“Key = ” + key + “, Value = ” + value);
}
4、通過鍵找值遍歷(效率低)
MapInteger, Integer map = new HashMapInteger, Integer();
for (Integer key : map.keySet()) {
Integer value = map.get(key);
System.out.println(“Key = ” + key + “, Value = ” + value);
}
假設Map中的鍵值對為1=11,2=22,3=33,現用方法1來遍歷Map代碼和調試結果如下:
擴展資料:
1、HashMap的重要參數
HashMap 的實例有兩個參數影響其性能:初始容量 和加載因子。容量是哈希表中桶的數量,初始容量只是哈希表在創建時的容量。
加載因子 是哈希表在其容量自動增加之前可以達到多滿的一種尺度。當哈希表中的條目數超出了加載因子與當前容量的乘積時,則要對該哈希表進行 rehash 操作(即重建內部數據結構),從而哈希表將具有大約兩倍的桶數。
在Java編程語言中,加載因子默認值為0.75,默認哈希表元為101。
2、HashMap的同步機制
注意,此實現不是同步的。 如果多個線程同時訪問一個哈希映射,而其中至少一個線程從結構上修改了該映射,則它必須保持外部同步。
(結構上的修改是指添加或刪除一個或多個映射關係的任何操作;以防止對映射進行意外的非同步訪問,如下:
Map m = Collections.synchronizedMap(new HashMap(…));
參考資料:百度百科-Hashmap
JAVA如何遍曆數組?
int[] is = new int[1,12,4,546]
for(int i=0; iis.length; i++){
System.out.println(int[i] + “”);
}
這就是一個最簡單的遍曆數組,遍曆數組通俗點就是說把數組中的每個數都讀一遍(部分有if條件+break的則可能不會完全遍歷),你可以對於數組中的每個數進行處理,亦或者是找到數組中那個你需要的數。
java中的遍歷是什麼意思?
遍歷就是把每個元素都訪問一次比如一個二叉樹,遍歷二叉樹意思就是把二叉樹中的每個元素都訪問一次java中的遍歷是什麼意思?
Java數組遍歷
因為是隨機生成的數組,所以可能數組中沒有小於10的數字,這時處理後的數組和之前一樣看不到效果。多試幾次就好了。
import java.util.Random;
public class Demo {
public static void main(String[] args) {
Random random = new Random();
int[] arr = new int[5];
for (int i = 0; i arr.length; i++) {
arr[i] = random.nextInt(46) + 5;
}
System.out.print(“隨機生成的數組:”);
printArr(arr);
arr = getNewArr(arr);
System.out.print(“處理之後的數組:”);
printArr(arr);
}
private static int[] getNewArr(int[] arr) {
for (int i = 0; i arr.length; i++) {
if (arr[i] 10) {
arr[i] = 0;
}
}
return arr;
}
private static void printArr(int[] arr) {
for (int i : arr) {
System.out.print(i + ” “);
}
System.out.println();
}
}
java中map的常用遍歷方法有哪些?
ava中map的常用遍歷的具體方法有:
一 、在for-each循環中使用entries來遍歷。這是最常見的並且在大多數情況下也是最可取的遍歷方式。在鍵值都需要時使用。
二、 在for-each循環中遍歷keys或values。如果只需要map中的鍵或者值,你可以通過keySet或values來實現遍歷,而不是用entrySet。
三、使用Iterator遍歷。
四、通過鍵找值遍歷(效率低)。
總結:如果僅需要鍵(keys)或值(values)使用方法二。如果你使用的語言版本低於java 5,或是打算在遍歷時刪除entries,必須使用方法三。否則使用方法一(鍵值都要)。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/240850.html