특정 출발점에서 해시 맵을 반복하려고합니다. 지금은 내 코드는 다음과 같습니다for-loop 해시 맵 Java
for (object o : objects.values()) {
code in here
}
그러나 지금은 특정 키 또는 값에서 루프를 시작할 수 있는지 궁금 메신저?
특정 출발점에서 해시 맵을 반복하려고합니다. 지금은 내 코드는 다음과 같습니다for-loop 해시 맵 Java
for (object o : objects.values()) {
code in here
}
그러나 지금은 특정 키 또는 값에서 루프를 시작할 수 있는지 궁금 메신저?
당신은 "보기"를 만들 수 starts and ends with certain keysTreeMap
같은 SortedMap
구현을 사용하여 HashMap
대신. (당신은 또한 단순히 특정 키에서 시작하여 tailMap()
를 사용하여, 종료 키를 지정하지 않고, 나머지를 처리합니다.)이 실제의 경계로, 처리에서 "세법"을 제외 것
SortedMap<String, Article> encyclopaedia = new TreeMap<>();
/* Populate the map. */
...
for (Article val : cyc.subMap("Sonar", "Tax Law").values()) {
/* Process only Volume 17. */
}
주 서브 맵은 반 개방 구간이다. 이와 같은 사례를 처리해야하는 경우 추가 전문화 인 NavigableMap
(TreeMap
으로 구현 됨)을 사용할 수 있습니다.
당신이 entrySet 컬렉션의을 사용하고 반복 할 수 있습니다 ...
public static void main(String[] args) {
Map<Integer, String> myMap = new HashMap<Integer, String>();
for (Entry<Integer, String> entry : myMap.entrySet()) {
System.out.println("The key is:" + entry.getKey());
System.out.println("The value is:" + entry.getValue());
}
}
'HashMap'에는 순서가 없습니다. 어디서부터 시작 하시겠습니까? –
회피 명령에 관심이 있다면 아마도'LinkedHashMap'을 사용해야 할 것입니다. –
지도의 시작 부분부터 시작하여 끝까지 반복해야하지만 목표는 무엇입니까? 우리는 목표가 무엇인지 알면 더 좋고/더 간단하거나 더 효율적인 방법을 찾을 수 있습니다. –