but*_*ken 54
你不应该.a Collection避免专门讨论索引,因为它可能对特定集合没有意义.例如,a List表示某种形式的排序,但a表示Set不排序.
Collection<String> myCollection = new HashSet<String>();
myCollection.add("Hello");
myCollection.add("World");
for (String elem : myCollection) {
    System.out.println("elem = " + elem);
}
System.out.println("myCollection.toArray()[0] = " + myCollection.toArray()[0]);
给我:
elem = World
elem = Hello
myCollection.toArray()[0] = World
同时:
myCollection = new ArrayList<String>();
myCollection.add("Hello");
myCollection.add("World");
for (String elem : myCollection) {
    System.out.println("elem = " + elem);
}
System.out.println("myCollection.toArray()[0] = " + myCollection.toArray()[0]);
给我:
elem = Hello
elem = World
myCollection.toArray()[0] = Hello
你为什么要这样做?你能不能迭代收藏?
aka*_*okd 17
我同意Matthew Flaschen的回答,并且只想展示无法切换到List的情况的选项示例(因为库会返回一个Collection):
List list = new ArrayList(theCollection);
list.get(5);
要么
Object[] list2 = theCollection.toArray();
doSomethingWith(list[2]);
如果您知道什么是仿制药,我也可以为此提供样品.
编辑:这是另一个问题,原始集合的意图和语义是什么.
| 归档时间: | 
 | 
| 查看次数: | 148530 次 | 
| 最近记录: |