Witam,
Tak jak w temacie. Kod:
import java.util.HashMap;
import java.util.Scanner;
public class BackPack
{
private HashMap<Integer,BackPack> things = new HashMap<Integer,BackPack>();
private int value;
private int size;
public BackPack()
{
reading();
}
public BackPack(int v,int s)
{
value = v;
size = s;
}
public int getSize()
{
return size;
}
public int getValue()
{
return value;
}
public void reading()
{
Scanner in = new Scanner(System.in);
int numberOfThings = Integer.parseInt(in.next());
if(numberOfThings > 100)
{
System.out.println("Entered a wrong value !");
in.close();
return;
}
sizeJas = Integer.parseInt(in.next());
sizeStas = Integer.parseInt(in.next());
if(sizeJas > 500 || sizeStas > 500)
{
System.out.println("Entered a wrong value !");
in.close();
return;
}
int j = 1;
while(numberOfThings > 0)
{
int value = in.nextInt();
int size = in.nextInt();
things.put(j,new BackPack(value,size));
j++;
numberOfThings--;
}
in.close();
}
public static void main(String[] args)
{
new BackPack();
}
}
Chciałbym posortować tą hashmapę po wartościach BackPack (po polu value).
Może inaczej: things.put(j,new BackPack(value,size)); --> przy tej deklaracji chodzi mi o posortowanie po "value"
Wiem, że trzeba użyć do tego Comparator, ale nie wiem za bardzo w jaki sposób. Widziałem na innej stronie jak ktoś sortował HashMape po wartościach, ale nie po obiektach.