ArrayList删除添加问题

chengq 发布于 2013/07/27 13:38
阅读 236
收藏 1
要求要每次循环后讲第一位元素移动到最后,一次类推
 
import java.util.ArrayList;
import java.util.List;

public class BBB {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Test2();
	}

	public static void Test2() {
		List<Integer> data = new ArrayList<Integer>();
		data.add(0);
		data.add(1);
		data.add(2);
		data.add(3);
		data.add(4);
		data.add(5);
		data.add(6);

		System.out.println(data.toString());
		
		for (int i = 0; i < data.size(); i++) {
			
			data.add(data.get(i));
			data.remove(data.get(i));
		}
		System.out.println(data.toString());


		for (int i = 0; i < data.size(); i++) {
			
			data.add(data.get(i));
			data.remove(data.get(i));
		}
		System.out.println(data.toString());
	}

}
 
输出结果为:
[0, 1, 2, 3, 4, 5, 6]
[1, 3, 5, 0, 4, 2, 6]
[3, 0, 2, 1, 4, 5, 6]

 
 
 

 

 
 
为何0不是被添加再了最后,

                
加载中
0
Shazi199
Shazi199
int length=data.size();
for(int i=0;i<length;i++){
    data.add(data.remove(0));
}

总结:

1.你的逻辑有问题

2.打开JavaAPI,找到ArrayList的remove方法好好读一遍说明

chengq
chengq
看到了,删除同时其他元素的索引在改变的 逻辑该如何改变 ,,
0
首席安全砖家
首席安全砖家
你在循环里面输出一下 list 里面的值 不就知道它怎么操作的了嘛..真是的..
chengq
chengq
debug了一下 知道问题了
返回顶部
顶部