rya*_*dlf 5 collections android swap arraylist
我有一个ArrayList,我需要确保一个特定的项目在0位置,如果不是,我需要将它移动到那里.该项目上有一个isStartItem布尔值,所以我可以很容易地找到我需要在0位置的特定项目,但是如何将其移动到正确的位置呢?
我假设我需要使用这样的东西:
for(int i=0; i<myArray.size(); i++){
if(myArray.get(i).isStartItem()){
Collection.swap(myArray, i, 0);
}
}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用......
MD *_*med 18
你需要使用Collections类的swap方法.Collections,s最后一个.
改变 -
Collection.swap(myArray, i, 0);
Run Code Online (Sandbox Code Playgroud)
对此 -
Collections.swap(myArray, i, 0);
Run Code Online (Sandbox Code Playgroud)
看看这个例子.
集合和集合是Java中的两个不同的东西.第一个是接口,第二个是类.后者有一个静态交换方法,但前者没有.
我不知道是什么Collection.swap,但这段代码应该有效:
for(int i=0; i<myArray.size(); i++){
if(myArray.get(i).isStartItem()){
Collections.swap(myArray, i, 0);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
或者你可以长期做到:
for(int i=0; i<myArray.size(); i++){
if(myArray.get(i).isStartItem()){
Object thing = myArray.remove(i); // or whatever type is appropriate
myArray.add(0, thing);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11333 次 |
| 最近记录: |