How do I store a set of paired numbers in java? Do I use lists or arrays or maybe something else?
eg. [ (1,1) , (2,1) , (3,5)]
There are a few options:
Write a custom IntPair class
class IntPair {
// Ideally, name the class after whatever you're actually using
// the int pairs *for.*
final int x;
final int y;
IntPair(int x, int y) {this.x=x;this.y=y;}
// depending on your use case, equals? hashCode? More methods?
}
and then create an IntPair[]
or a List<IntPair>
.
Alternately, create a two-dimensional array new int[n][2]
, and treat the rows as pairs.
Java doesn't have a built-in Pair
class for a few reasons, but the most noticeable is that it's easy enough to write a class that has the same function, but has much more enlightening, helpful names for the class, its fields, and its methods.
If we knew more about what you're actually using this for, we might be able to provide more detailed suggestions -- for all we know, a Map
could be appropriate here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With