반응형
TreeMap에서 반복하는 방법
중복 가능성:
지도의 각 엔트리에 대해 반복하려면 어떻게 해야 합니까?
몇 번이고 되풀이하고 싶다TreeMap
특정 값을 가진 모든 키에 대해 새 키에 추가하기를 원합니다.TreeMap
어떻게 해야 되지?
TreeMap <String,정수 > :
for(Map.Entry<String,Integer> entry : treeMap.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println(key + " => " + value);
}
(키 타입과 값 타입은 물론 모든 클래스로 할 수 있습니다)
//create TreeMap instance
TreeMap treeMap = new TreeMap();
//add key value pairs to TreeMap
treeMap.put("1","One");
treeMap.put("2","Two");
treeMap.put("3","Three");
/*
get Collection of values contained in TreeMap using
Collection values()
*/
Collection c = treeMap.values();
//obtain an Iterator for Collection
Iterator itr = c.iterator();
//iterate through TreeMap values iterator
while(itr.hasNext())
System.out.println(itr.next());
또는 다음과 같이 입력합니다.
for (Map.Entry<K,V> entry : treeMap.entrySet()) {
V value = entry.getValue();
K key = entry.getKey();
}
또는 다음과 같이 입력합니다.
// Use iterator to display the keys and associated values
System.out.println("Map Values Before: ");
Set keys = map.keySet();
for (Iterator i = keys.iterator(); i.hasNext();) {
Integer key = (Integer) i.next();
String value = (String) map.get(key);
System.out.println(key + " = " + value);
}
지도에서 반복하는 일반적인 방법을 알려면 다음과 같습니다.
private <K, V> void iterateOverMap(Map<K, V> map) {
for (Map.Entry<K, V> entry : map.entrySet()) {
System.out.println("key ->" + entry.getKey() + ", value->" + entry.getValue());
}
}
Google 컬렉션을 사용하여 K를 키 유형으로 가정합니다.
Maps.filterKeys(treeMap, new Predicate<K>() {
@Override
public boolean apply(K key) {
return false; //return true here if you need the entry to be in your new map
}});
사용할 수 있습니다.filterEntries
대신, 그 값도 필요한 경우.
언급URL : https://stackoverflow.com/questions/1318980/how-to-iterate-over-a-treemap
반응형
'sourcecode' 카테고리의 다른 글
스택 트레이스를 문자열로 변환하려면 어떻게 해야 하나요? (0) | 2022.08.28 |
---|---|
VUEJS-url에서 매개 변수를 제거하는 방법 (0) | 2022.08.28 |
Linux는 syslog를 어디에 저장합니까? (0) | 2022.08.28 |
vuex의 모듈 getter에서 루트 상태 액세스 (0) | 2022.08.28 |
가용성을 위해 HTTP URL에 ping을 실행하는 기본 Java 방법 (0) | 2022.08.28 |