UFO ET IT

Java에서 SortedMap 인터페이스를 사용하는 방법은 무엇입니까?

ufoet 2020. 11. 26. 20:26
반응형

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

반응형