키가 ClassModel의 순서를 나타내는 특정의 HashMap를 가지고 있습니다. 우리 모두 알고 있듯이, HashMaps는 키가 검색되거나 출력 될 때 키의 순서를 유지하지 않습니다. ClassModel 배열의 의도 된 순서를 저장하는 ArrayList도 있습니다. 예를 들어 해시 맵에서 키 값을 검색하면 Car 1, Car 4, Car 3, Car 5 및 Car 2와 같은 것을 얻을 수 있습니다. ArrayList 값 대신 배열 값의 의도 된 순서가 있습니다. Car 1, Car 2, Car 3, Car 4 및 Car 5를 사용합니다. ArrayList의 키에 따라 정렬하고 싶습니다. 내 코드는 다음과 같습니다 :내 자신의 키를 사용하여 HashMap에 기존 키를 배열하는 방법은 무엇입니까?
for (HashMap.Entry<String, FloorPlanModel> existingKeys : floorPlanKeys.entrySet()) {
Log.d(LOG_TAG, "existingKeys entries = " + existingKeys.getKey());
}
for (String newKeys : buildingModel.getFpKeys()) {
Log.d(LOG_TAG, "newKeys entries = " + newKeys);
}
그리고 출력이 순간있는 것은 다음과 같습니다
existingKeys entries = floorplan0
existingKeys entries = floorplan2
existingKeys entries = floorplan3
existingKeys entries = floorplan4
existingKeys entries = floorplan1
newKeys entries = floorplan0
newKeys entries = floorplan1
newKeys entries = floorplan2
newKeys entries = floorplan3
newKeys entries = floorplan4
나는 루프 최초의 내부 루프 두 번째를 넣어 하죠,하지만 어떻게 각 값을 반복 할 HashMap 및 ArrayList에있는 순서로 그들을 주문? 덮어 쓰면 해시 맵의 값이 변경됩니까?
나는 이것을 위해 TreeMaps를 사용할 수 없다는 것을 언급하는 것을 잊었다. 나는 그들을 수동으로 준비해야 할 것이다.
좋아요. Firebase (데이터를 HashMaps에만 저장함)에서 데이터를 가져 와서 ExpandableListAdapter에 바로 입력하면 TreeMaps를 사용할 수 없다는 사실을 잊어 버렸습니다. (따라서 값을 삽입해야합니다. 정수로 자리 잡는 어린이와 그룹으로). 그래서 나는 그들을 반복하고 대신 수동으로 그들을 재 배열했다. – user3056928
'새 TreeMap (myHashMap)'이 그것을 변환합니다. – jiggy