2016-03-23 6 views
-2
[result][1]  
package info.sreenu.collectionsmap; 
import java.util.HashMap; 
import java.util.Map; 
public class MapDemo { 
public static void main(String[] args) { 
Map m=new HashMap(); 
m.put(1,"satya"); 
m.put('a',"anil"); 
m.put('b',"raju"); 
m.put('c',"nayana"); 
m.put(2,"hiyathi"); 
System.out.println(m.keySet()); 
System.out.println(m.values()); 
} 
} 

Hier muss ich die Kartenschlüssel basierend auf Zahlen und basierend auf Zeichen sortieren.Map Keys Sortieren nach Zahlen und Zeichen

+0

Können Sie bitte die gewünschte Reihenfolge für die Tasten in Ihrem Beispiel beschreiben? –

+1

Ok, ich schlage vor, Sie schreiben etwas Code, um das zu versuchen. Hinweis: HashMap ist keine sortierte Auflistung, Sie können jedoch eine TreeMap verwenden. Sie müssen einen benutzerdefinierten Vergleicher bereitstellen. –

+0

12abc keys order @ Paul – Vijay

Antwort

0

Ändern Sie den Code, um TreeMap anstelle von HashMap zu verwenden. Das sortiert die Daten basierend auf dem Schlüssel.

Here's eine bessere Erklärung derselben.

Zweitens können Sie Integer und Character nicht als Schlüssel einfügen, da sie nicht gegossen werden können.
Sie können entweder einen Komparator schreiben oder alle Schlüssel (Integer, Zeichen) in String konvertieren und diesen als Schlüssel einfügen.

Map m=new TreeMap(); 
m.put(String.valueOf(1),"satya"); 
m.put(String.valueOf('a'),"anil"); 
m.put(String.valueOf('b'),"raju"); 
m.put(String.valueOf('c'),"nayana"); 
m.put(String.valueOf(2),"hiyathi"); 
System.out.println(m.keySet()); 
System.out.println(m.values()); 

zu this auf Siehe, wie mit TreeMap Komparatoren zu verwenden.

+0

Dies ist das erwartete Ergebnis. Danke @ Kishore – Vijay

+0

[1, 2, a, b, c] [Satya, Hiyathi, Anil, Raju, Nayana] – Vijay

+0

@ Vijay Willkommen, können Sie die Antwort akzeptieren und die Frage ausschließen? –