Java 如何引用集合中的位置?

Java 如何引用集合中的位置?,java,collections,set,Java,Collections,Set,如何引用集合中的位置?与数组类似:array[5] 我正在开发一个android音板,它有一个收藏夹选项卡。“收藏夹”选项卡使用列表视图。当用户添加收藏夹时,按钮的文本将添加到集合中。现在,我已经为列表视图设置了一个上下文菜单,允许用户通过长按并按delete键来删除项目。关联菜单传递触发关联菜单的列表视图的位置,我正在尝试删除该位置 你不能。s没有顺序的概念,但具体的实现可能会 但是,所有集合都实现toArray(),并且 如果这个集合保证迭代器返回元素的顺序,那么这个方法必须以相同的顺序返回

如何引用集合中的位置?与数组类似:
array[5]

我正在开发一个android音板,它有一个收藏夹选项卡。“收藏夹”选项卡使用列表视图。当用户添加收藏夹时,按钮的文本将添加到集合中。现在,我已经为列表视图设置了一个上下文菜单,允许用户通过长按并按delete键来删除项目。关联菜单传递触发关联菜单的列表视图的位置,我正在尝试删除该位置

你不能。s没有顺序的概念,但具体的实现可能会

但是,所有集合都实现
toArray()
,并且

如果这个集合保证迭代器返回元素的顺序,那么这个方法必须以相同的顺序返回元素


您的底层数据结构是什么?

您不能-一个
集合
没有其元素的索引。根据您的要求,您有两种选择:

  • 如果要在
    列表中设置
    的属性,请使用commons collections中的
    SetUniqueList
  • 如果要迭代
    集合

你可能想研究迭代器。你为什么需要这样做?你想用它实现什么(循环元素或检查是否存在)?我用一个解释更新了这篇文章。在基于索引假设实现时要小心-大多数集合(AFAIK)不允许你对它们进行索引,只是充当基于唯一键的查找。关于这一点,更高层次的观点是,如果一种语言决定改变它的内部集合实现,任何预先存在的有序感都可能被破坏。集合可以被有序化。但它们不会为元素编制索引,但仍然没有位置的概念——除非你从元素的顺序推断出来。@quaylar“但具体的实现可能会。”你说得对,@Voo!
Set
javadoc声明:“正如它的名字所暗示的那样,这个接口对数学集合抽象进行建模。”@Justin V.你能得到被删除的实际元素,而不是它的索引吗?这是从树上移除的最好方法。。。查看javadoc