黑马程序员技术交流社区
标题:
关于list的问题
[打印本页]
作者:
紫影
时间:
2015-5-4 14:27
标题:
关于list的问题
怎么交换list里的数据
作者:
唐泉银
时间:
2015-5-4 17:02
你说具体点啊
作者:
IDhmpj
时间:
2015-5-4 21:24
不太确定交换的意思,但是List集合可以通过set方法,对指定位置的元素就行替换操作。
作者:
紫影
时间:
2015-5-5 09:42
唐泉银 发表于 2015-5-4 17:02
你说具体点啊
比如任意交换list里面的i位置和j位置的数据
作者:
胡家兵
时间:
2015-5-5 09:44
交换数据可以用两个iterator 找到对应位置,拿一中间变量中转一下互相赋值应该就行了
作者:
旺丶财
时间:
2015-5-5 11:27
刚写的一个交换list数据的方法:P
public class listTest {
public static void main(String[] args) {
//初始化一个list
List list = new ArrayList();
for (int i = 0; i < 10; i++) {
list.add(i,String.valueOf(i));
}
change(list,8,3);
}
//交换i和j的数据
static String temp = null;
public static List change(List list,int i,int j){
if (i>j) {
int temp = 0;
temp = i;
i = j;
j = temp;
}
for (int k = 0; k < list.size(); k++) {
if (i==k) {
//把i上的元素放进临时变量
temp = (String) list.get(k);
}
if(j==k){
//把k的元素放进i
list.set(i, list.get(k));
//把临时变量的放进j
list.set(j, temp);
System.out.println(list);
}
}
return list;
}
}
作者:
唐泉银
时间:
2015-5-5 11:30
紫影 发表于 2015-5-5 09:42
比如任意交换list里面的i位置和j位置的数据
通过get方法 获取相应位置的元素 然后再定义一个第三方变量 比如list集合里装的是数字
int temp=0;
list.get(i)=temp;
list.get(i)=list.get(j);
list.get(j)=ltemp;
这不就交换了吗
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2