A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 紫影 中级黑马   /  2015-5-4 14:27  /  423 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么交换list里的数据

6 个回复

倒序浏览
你说具体点啊
回复 使用道具 举报
不太确定交换的意思,但是List集合可以通过set方法,对指定位置的元素就行替换操作。
回复 使用道具 举报

比如任意交换list里面的i位置和j位置的数据
回复 使用道具 举报
交换数据可以用两个iterator 找到对应位置,拿一中间变量中转一下互相赋值应该就行了
回复 使用道具 举报
刚写的一个交换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 09:42
比如任意交换list里面的i位置和j位置的数据

通过get方法 获取相应位置的元素  然后再定义一个第三方变量  比如list集合里装的是数字
int temp=0;
  list.get(i)=temp;
list.get(i)=list.get(j);
list.get(j)=ltemp;
这不就交换了吗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马