Как ссылаться на позицию в наборе? - PullRequest
2 голосов
/ 08 марта 2012

Как я могу ссылаться на позицию в наборе?Как и в случае с массивом: array[5];

Я занимаюсь разработкой Android-деки с закладкой «Избранное».Вкладка «Избранное» использует просмотр списка.Когда пользователь добавляет избранное, текст кнопки добавляется в набор.Теперь я настроил контекстное меню для представления списка, чтобы пользователь мог удалить элемент, нажав и удерживая кнопку «Удалить».Контекстное меню передает позицию представления списка, которое вызвало контекстное меню, и я пытаюсь удалить эту позицию.

Ответы [ 2 ]

6 голосов
/ 08 марта 2012

Вы не можете.Set s не имеют понятия порядка, но конкретные реализации могут.

Однако все наборы реализуют toArray() и

Если этот набор делаетЧтобы гарантировать, в каком порядке его элементы возвращаются его итератором, этот метод должен возвращать элементы в том же порядке.

Какая у вас базовая структура данных?

3 голосов
/ 08 марта 2012

Вы не можете - у Set нет индексов для своих элементов. У вас есть два варианта, в зависимости от ваших требований:

  • используйте SetUniqueList из общих коллекций, если вы хотите свойства Set в List
  • используйте Iterator (и цикл foreach), если вы хотите итерировать Set
...