You can use the Entry<U,V> class that HashMap uses but you’ll be stuck with its semantics of getKey and getValue:
List<Entry<Float,Short>> pairList = //...
My preference would be to create your own simple Pair class:
public class Pair<L,R> {
private L l;
private R r;
public Pair(L l, R r){
this.l = l;
this.r = r;
}
public L getL(){ return l; }
public R getR(){ return r; }
public void setL(L l){ this.l = l; }
public void setR(R r){ this.r = r; }
}
Then of course make a List using this new class, e.g.:
List<Pair<Float,Short>> pairList = new ArrayList<Pair<Float,Short>>();
You can also always make a Lists of Lists, but it becomes difficult to enforce sizing (that you have only pairs) and you would be required, as with arrays, to have consistent typing.