在 Java 中,Set 本身是没有索引的。
Set 的核心特性是:
set.get(i))Set 接口 没有定义 类似 List.get(int index) 的方法。
| 实现类 | 是否有索引 | 是否有序 | 说明 |
|---|---|---|---|
HashSet |
❌ 无 | ❌ 无序 | 基于哈希表 |
LinkedHashSet |
❌ 无 | ✅ 插入顺序 | 保持插入顺序,但仍是 Set |
TreeSet |
❌ 无 | ✅ 排序 | 按自然顺序或比较器排序 |
Set<String> set = new HashSet<>();
set.add("A");
set.add("B");
List<String> list = new ArrayList<>(set);
String value = list.get(0); // 有索引了
List 而不是 Set如果你需要:
那就应该用 List(ArrayList / LinkedList)
这些仍然是 Set,只是提供范围操作,不支持索引。
Java 的
Set没有索引,不能通过下标访问元素;需要索引请使用List或把Set转成List。
如果你能说下具体使用场景(比如去重但又要顺序),我可以帮你选最合适的集合。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。