一、map.values方法
Map集合的values()方法返回的是一個Collection集合,其中存放了Map中所有的值,該方法的定義如下:
public Collection<V> values() { Collection<V> vs = values; return (vs != null ? vs : (values = new Values())); }
其中,values是一個Collection<V>類型的私有變量,而Values是Map集合內部的一個類,它實現了Map集合的迭代器Iterator,代碼如下:
private final class Values extends AbstractCollection<V> { public Iterator<V> iterator() { return new ValueIterator(); } ...... }
通過返回的Collection對象,我們可以對Map中的所有value進行操作,比如遍歷、元素刪除等等。
二、map.values方法js
Map集合的values()方法在JS中返回的是一個可迭代對象Iterator。我們可以通過for…of循環來遍歷Map中所有的value,代碼如下:
let myMap = new Map(); myMap.set('key1', 'value1'); myMap.set('key2', 'value2'); myMap.set('key3', 'value3'); let values = myMap.values(); for (let value of values) { console.log(value); } // Output: // value1 // value2 // value3
上述代碼定義了一個Map集合myMap,調用了values()方法,然後通過for…of循環來遍歷Map中所有的value。
三、map.values賦值
我們可以通過Map.values()方法獲取Map中的所有value並將其賦值給一個List對象,代碼如下:
Map<String, String> myMap = new HashMap<>(); myMap.put("key1", "value1"); myMap.put("key2", "value2"); myMap.put("key3", "value3"); List<String> valuesList = new ArrayList<>(myMap.values()); System.out.println(valuesList); // Output: // [value1, value2, value3]
上述代碼定義了一個Map集合myMap,並往裡面添加了3個鍵值對,然後通過new ArrayList(myMap.values())獲取Map中的全部value並存入List中。
四、map.values返回的是什麼
Map.values()方法返回的是一個Collection集合,其中存放了Map中所有的值。
當我們使用Map.entrySet()方法得到一個Set集合後,我們通過entry.getValue()方法獲取Map中的value,目的是在遍歷Map集合時直接獲取相應的value。
Map<String, String> myMap = new HashMap<>(); myMap.put("key1", "value1"); myMap.put("key2", "value2"); myMap.put("key3", "value3"); Set<Map.Entry<String, String>> entrySet = myMap.entrySet(); for (Map.Entry<String, String> entry : entrySet) { System.out.println(entry.getValue()); } // Output: // value1 // value2 // value3
五、map.values方法轉數組
我們可以通過toArray()方法將Map.values()返回的Collection轉化為數組,代碼如下:
Map<String, String> myMap = new HashMap<>(); myMap.put("key1", "value1"); myMap.put("key2", "value2"); myMap.put("key3", "value3"); Object[] valuesArray = myMap.values().toArray(); for (Object value : valuesArray) { System.out.println(value); } // Output: // value1 // value2 // value3
六、map.values怎麼轉list
我們可以通過Arrays.asList()方法將Map.values()返回的Collection轉換為List,這樣我們就可以使用List中的一些方法了,例如subList、sort等,代碼如下:
Map<String, String> myMap = new HashMap<>(); myMap.put("key1", "value1"); myMap.put("key2", "value2"); myMap.put("key3", "value3"); List<String> valuesList = new ArrayList<>(myMap.values()); List<String> subList = valuesList.subList(1, 3); Collections.sort(subList); System.out.println(valuesList); System.out.println(subList); // Output: // [value1, value2, value3] // [value2, value3]
七、map.values.stream什麼意思
Java8中引入了Stream API,通過使用stream()方法將集合轉換為一個流,我們便可以對流使用一些強大的操作,例如map、filter、reduce等。
對於Map集合的values,我們可以通過Map.values().stream()方法將其轉換為一個流對象,代碼如下:
Map<String, Integer> myMap = new HashMap<>(); myMap.put("A", 1); myMap.put("B", 2); myMap.put("C", 3); List<Integer> filteredList = myMap.values().stream().filter(value -> value > 1).collect(Collectors.toList()); System.out.println(filteredList); // Output: // [2, 3]
上述代碼通過Map.values().stream()方法將Map集合中的value轉換為一個流對象,然後通過filter()方法篩選出大於1的value並將其收集到一個List集合中。
八、map.values獲取變成集合
Map.values()方法返回的是一個Collection集合,我們也可以將其再次轉換為Set或List等其他集合對象,代碼如下:
Map<String, String> myMap = new HashMap<>(); myMap.put("key1", "value1"); myMap.put("key2", "value2"); myMap.put("key3", "value3"); Set<String> valuesSet = new HashSet<>(myMap.values()); System.out.println(valuesSet); // Output: // [value1, value2, value3]
上述代碼將Map.values()返回的Collection集合轉換為一個Set對象,並打印出其元素。
九、如何獲取map中所有的values
可以通過Map.values()方法獲取Map中所有的value。
Map<String, String> myMap = new HashMap<>(); myMap.put("key1", "value1"); myMap.put("key2", "value2"); myMap.put("key3", "value3"); Collection<String> values = myMap.values(); System.out.println(values); // Output: // [value1, value2, value3]
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279400.html