Java에서 SortedMap 인터페이스를 사용하는 방법은 무엇입니까?
나는
Map<Float, MyObject>
플로트에 따라지도를 정렬하는 가장 좋은 방법은 무엇입니까?
가 SortedMap
최선의 대답은? TreeMap
? 어떻게 사용하나요?
지도를 한 번만 만들고 MyObject
자주 사용하는 myMap.put()
및 myMap.get()
.
나는 TreeMap
구현할 것 SortedMap
입니다. 이를 위해 정확히 설계되었습니다.
예:
Map<Integer, String> map = new TreeMap<Integer, String>();
// Add Items to the TreeMap
map.put(1, "One");
map.put(2, "Two");
map.put(3, "Three");
// Iterate over them
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " => " + entry.getValue());
}
SortedMap에 대한 Java 튜토리얼 페이지를 참조하십시오 .
그리고 튜토리얼 여기에 목록 트리 맵 관련.
TreeMap은 아마도 이것을하는 가장 간단한 방법 일 것입니다. 일반 맵과 똑같이 사용합니다.
즉
Map<Float,String> mySortedMap = new TreeMap<Float,MyObject>();
// Put some values in it
mySortedMap.put(1.0f,"One");
mySortedMap.put(0.0f,"Zero");
mySortedMap.put(3.0f,"Three");
// Iterate through it and it'll be in order!
for(Map.Entry<Float,String> entry : mySortedMap.entrySet()) {
System.out.println(entry.getValue());
} // outputs Zero One Three
API 문서 ( http://download.oracle.com/javase/6/docs/api/java/util/TreeMap.html) 에서 다른 작업을 수행 할 수 있는지 확인하는 것이 좋습니다.
아래의 SortedMap을 내부적으로 구현하는 TreeMap을 사용할 수 있습니다.
오름차순으로 정렬 :
Map<Float, String> ascsortedMAP = new TreeMap<Float, String>();
ascsortedMAP.put(8f, "name8");
ascsortedMAP.put(5f, "name5");
ascsortedMAP.put(15f, "name15");
ascsortedMAP.put(35f, "name35");
ascsortedMAP.put(44f, "name44");
ascsortedMAP.put(7f, "name7");
ascsortedMAP.put(6f, "name6");
for (Entry<Float, String> mapData : ascsortedMAP.entrySet()) {
System.out.println("Key : " + mapData.getKey() + "Value : " + mapData.getValue());
}
내림차순으로 정렬 :
항상 이것을 원하면 일반적으로 내림차순을 사용하도록 맵을 생성하고, 한 번만 필요한 경우 내림차순으로 TreeMap을 생성하고 원래 맵의 모든 데이터를 넣습니다.
// Create the map and provide the comparator as a argument
Map<Float, String> dscsortedMAP = new TreeMap<Float, String>(new Comparator<Float>() {
@Override
public int compare(Float o1, Float o2) {
return o2.compareTo(o1);
}
});
dscsortedMAP.putAll(ascsortedMAP);
SortedMAP에 대한 자세한 내용은 http://examples.javacodegeeks.com/core-java/util/treemap/java-sorted-map-example/을 참조하십시오.
SortedMap 인터페이스의 구현 인 TreeMap이 작동합니다.
어떻게 사용합니까?
Map<Float, MyObject> map = new TreeMap<Float, MyObject>();
TreeMap
주요 자연 순서로 정렬합니다. 키는 (하나의 인스턴스를 생성자에 전달한 경우) 구현 Comparable
하거나 호환 되어야합니다 Comparator
. 당신의 경우에는 Float
이미 구현 Comparable
되어 있으므로 특별한 작업을 수행 할 필요가 없습니다.
You can call keySet
to retrieve all the keys in ascending order.
참고URL : https://stackoverflow.com/questions/7427758/how-to-use-sortedmap-interface-in-java
'UFO ET IT' 카테고리의 다른 글
Ubuntu 10.10 (Maverick Meerkat)에서 직렬 -USB 장치에 터미널을 연결하려면 어떻게해야합니까? (0) | 2020.11.27 |
---|---|
JQuery Mobile Fixed Toolbar 및 Footer Bar가 사라집니다. (0) | 2020.11.26 |
어떻게 Java.util.Map을 현명한 방법으로 소포에 작성합니까? (0) | 2020.11.26 |
Xcode 4.3을 설치 한 후 MacPort 기능을 사용할 수 없습니다. (0) | 2020.11.26 |
Javascript hasOwnProperty의 속성은 무엇입니까? (0) | 2020.11.26 |