Вы можете использовать HashMap<Integer, String>
. Ключ будет индексом в вашем текущем List
, тогда как значение будет фактическим String
.
Пример:
List<String> myList = new ArrayList<String>();
// no identical Strings here
Set<String> mySet = new LinkedHashSet<String>();
myList.add("Cat"); // index 0
myList.add("Dog"); // index 1
myList.add("Cow"); // etc
myList.add("Cat");
myList.add("Rat");
mySet.add("Cat"); // index 0
mySet.add("Dog"); // index 1
mySet.add("Cow"); // etc
mySet.add("Cat"); // index 0 - already there
mySet.add("Rat");
Map<Integer, String> myMap = new HashMap<Integer, String>();
for (int i = 0; i < myList.size(); i++) {
myMap.put(i, myList.get(i));
}
System.out.println(myMap);
Map<Integer, String> myOtherMap = new HashMap<Integer, String>();
int i = 0;
for (String animal: mySet) {
myOtherMap.put(i++, animal);
}
System.out.println(myOtherMap);
Выход:
{0=Cat, 1=Dog, 2=Cow, 3=Cat, 4=Rat}
{0=Cat, 1=Dog, 2=Cow, 3=Rat}
Возможно, вы можете использовать перечисление для этого? – doge
Не уверен, что вы здесь. Какой тип данных вы хотите получить? Или еще лучше, предполагая, что у вас есть то, что вы хотите, покажите нам пример того, как вы его используете. – QED