Podoba mi się, mapa javy, w której można zdefiniować typy każdego wpisu na mapie, na przykład<String, Integer>.
Szukam rodzaju kolekcji, w której każdy element w kolekcji jest parą wartości. Każda wartość w parze może mieć swój własny typ (jak powyższy przykład String i Liczba całkowita), który jest definiowany w czasie deklaracji. Kolekcja zachowa swoją kolejność i nie będzie traktować jednej z wartości jako unikalnego klucza (jak mapa). Zasadniczo chcę być w stanie zdefiniować tablicę typu <String, Integer>
l ub dowolne inne 2 typy. Czy macie jakiś pomysł?
1 odpowiedź
Klasa Pair jest jednym z tych ogólnych przykładów, które można łatwo napisać samodzielnie.
public class Pair<L,R> {
private final L left;
private final R right;
public Pair(L left, R right) {
this.left = left;
this.right = right;
}
public L getLeft() { return left; }
public R getRight() { return right; }
@Override
public int hashCode() { return left.hashCode() ^ right.hashCode(); }
@Override
public boolean equals(Object o) {
if (!(o instanceof Pair)) return false;
Pair pairo = (Pair) o;
return this.left.equals(pairo.getLeft()) &&
this.right.equals(pairo.getRight());
}
}