有个小问题,现在我有一个List对象,[code="java"]List list = new ArrayList(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E");[/code]
此时如果打印出来,结果是”ABCDE"。
如果我想把"A"插入到“D"后面,让打印结果变成“BCDAE",该如何实现????
[code="java"]
public static void main(String[] args) { ArrayList list = new ArrayList();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
//删除再插入
Object e = list.remove(0);
list.add(3, e);
System.out.println(list);
}
[/code]
List list = new ArrayList();
// 加入到第几个后面,如果list里的信息太多的话,可以用遍历的形式
list.add(3, "S");
[quote]List list = new ArrayList();
// 加入到第几个后面,如果list里的信息太多的话,可以用遍历的形式
list.add(3, "S");
liruimin (初级程序员) 2012-01-09[/quote]
+1
[code="java"]List list =new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add(2,"d");
for(String s: list){
System.out.println(s);
}[/code]
结果[quote]a
b
d
c
[/quote]
[code="java"]
import java.util.ArrayList;
import java.util.List;
public class TestPOI {
public static void main(String[] args) {
String str = "";
List list = new ArrayList();
int num = 0;
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
for(int i=0;i<list.size();i++){
if("A".equals(list.get(i))){
str = String.valueOf(list.get(i));
list.remove(i);
}
if("D".equals(list.get(i)))
num = i;
}
list.add(num, str);
System.out.println(list);
}
}
[/code]
你看看这个行吗?
[code="java"]
public class ListPrintTest {
public static void main(String[] args) {
String str = "";
List list = new ArrayList();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
//插入之前
System.out.println(list);
//插入
insert(list,0,3);
//插入之后
System.out.println(list);
}
/**
* 将"A"插到"D"后面,insert(list,0,3);
* @param list
* @param index1 需要插入的元素
* @param index2 插入的位置
*/
static void insert(List list,int index1,int index2) {
//先把index1对应的元素取出
Object o = list.remove(index1);
//插入到指定位置
list.add(index2, o);
}
}
[/code]
结果:
[code="java"]
[A, B, C, D, E]
[B, C, D, A, E]
[/code]
[quote]问题补充:
LeeYee 写道
引用
List list = new ArrayList();
// 加入到第几个后面,如果list里的信息太多的话,可以用遍历的形式
list.add(3, "S");
liruimin (初级程序员) 2012-01-09
+1
Java代码
List list =new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add(2,"d");
for(String s: list){
System.out.println(s);
}
结果
引用
a
b
d
c
你看清了我的问题是什么吗?[/quote]
如果你是想问,怎么在已经有的ABCDE中先移除A,然后再将A插入到D后面!抱歉我真的没从你的问题中看出来有这个需求!你可以自己在仔细读读你的问题!
[quote]有个小问题,现在我有一个List对象,[code="java"]List list = new ArrayList(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E");[/code]
此时如果打印出来,结果是”ABCDE"。
如果我想把"A"插入到“D"后面,让打印结果变成“BCDAE",该如何实现????[/quote]
[color=red]如果我想把"A"插入到“D"后面[/color]。这句话前,你的list中已经有A了,那是到底是要移动呢,还是想要在插入呢![color=red]让打印结果变成“BCDAE",该如何实现????[/color]只是让结果变成bcdae,那么我们的上述回复有问题么?
问问题不带这么问的!想说什么表达清楚!