Что лучше всего сделать здесь, в значительной степени зависит от того, как соотносятся String
и число.Вот ряд возможностей и то, что вы, возможно, захотите с ними сделать.
Число - это идентификатор или некоторое подобное тесно связанное свойство:
Создайте класс дляпредставлять эти объекты и связывать их свойства.
public class Item {
private final int id;
private final String name;
// constructor, getters, equals, hashCode, toString
}
Число - это число именованных элементов:
Использование Гуава Multiset для подсчета количества предметов.
Multiset<String> items = HashMultiset.create();
items.add("Apple", 5);
items.add("Tomato", 3);
// etc.
Число - это что-то еще, связанное с String
, но недостаточно близко для хранения в одном объекте:
Используйте обычный Map
, как предлагается в других ответах.
A Pair
- не лучшее решение
Пока вы принялиответ, предлагающий использование класса Pair
, я настоятельно рекомендую против этого, так как Pair
ничего не делает, чтобы указать, какие два значения он содержит или , каковы отношения между ними и нет 'обеспечить удобства Map
, чтобы получить значение, которое связано слибо с конкретным ключом.