Android Studio,Java, Sortowanie HashMapy Alfabetycznie

0

Krótko, Mam kod:
package com.example.mateusz.spiewnikdmn;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**

  • Created by Mateusz on 2016-01-07.
    */
    public class DataProvider {

    public static HashMap<String, List<String>> getInfo()
    {
    HashMap<String, List<String>> MDetails = new HashMap<String, List<String>>();
    List<String> S1 = new ArrayList<String>();
    S1.add("Test5");
    S1.add("Test5a");
    List<String> S2 = new ArrayList<String>();
    S2.add("Test2");
    List<String> S3 = new ArrayList<String>();
    S3.add("Test3");
    S3.add("Test3a");
    List<String> S4 = new ArrayList<String>();
    S4.add("Test4");
    S4.add("Test4a");
    List<String> S5 = new ArrayList<String>();
    S5.add("Test5");
    S5.add("Test5a");
    List<String> S6 = new ArrayList<String>();
    S6.add("Test6");
    S6.add("Test6a");

     MDetails.put("1. Hymn2015", S1);
     MDetails.put("2. Hymn Forum 2015", S2);
     MDetails.put("3. Dziękuję", S3);
     MDetails.put("4. Emmanuel", S4);
     MDetails.put("5. Gloria", S5);
     MDetails.put("6. Nic", S6);
    
     return MDetails;
    

    }
    }

I nawet po ustawienie tego po kolei, 1,2,3...,6 to w po zbudowaniu APK na tele, pokazuje się w kompletnie odrębnej kolejności a dokładniej: 4,5,1,3,6,2. Dlaczego tak jest i jak to zmienić by było po kolei?

0

HashMapa nie jest posortowana z definicji. Brak uporządkowania daje więcej możliwości na zwiększenie wydajności i zmniejszenie narzutu pamięciowego. Jeśli potrzebujesz mapy, która będzie cały czas posortowana to użyj TreeMap. TreeMapa wymaga podania jakiegoś sposobu porównywania, czy to przed podanie Comparatora, czy zaimplementowania interfejsu Comparable w kluczach. Stringi implementują Comparable.

1 użytkowników online, w tym zalogowanych: 0, gości: 1