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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 十甫寸 于 2013-8-18 13:48 编辑

怎么交换List集合中,下标1和下标2的值?(谢谢提醒)

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 神马都是浮云

查看全部评分

6 个回复

倒序浏览
你是要交换值吧,
回复 使用道具 举报

复制代码
可以这样,把2号位的元素删掉,存到1号位上。这样两个位置上的元素就互换了。
import java.util.ArrayList;
import java.util.List;

public class Excersise {
        public static void main(String[] args) {
                List<String> list = new ArrayList();
                list.add("0");
                list.add("1");
                list.add("2");
                list.add("3");
                System.out.println(list);
                String temp = (String)list.remove(2);
                list.add(1,temp);
                System.out.println(list);       
        }


评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

回复 使用道具 举报
胡智 发表于 2013-8-18 14:01
可以这样,把2号位的元素删掉,存到1号位上。这样两个位置上的元素就互换了。
import java.util.ArrayList; ...

谢谢你刚才的回答,我还想问个问题!我想把随机出来的5个1~10之间的整数放入List集合,然后进行排序(我用的冒泡法),为什么我写完,它还排不了序?集合中的第一个元素的下标是0还是1?我是按0做的!!!
import java.util.*;
class unknown
{
        public static void main(String[] args)
        {
                Random r = new Random();//定义一个随机变量;
                List list = new ArrayList();//定义一个集合去存放生成的随机数;
                for (int i = 0; i < 5; i++)
                {
                        int temp = r.nextInt(10)+1;//把生成的随机数赋值给定义的temp变量;
                        list.add(temp);//把定义的变量添加到list集合中
                }
                for(int x=0;x<list.size()-1;x++)
                {
                        for(int y=0;y<list.size()-x-1;y++)
                        {
                                if(list.indexOf(y)>list.indexOf(y+1))
                                {
                                        int t = (int)list.remove(y+1);
                                        list.add(y,t);
                                }
                        }
                }               
                System.out.println(list);
               
                //遍历list集合
                Iterator it = list.iterator();
                while(it.hasNext())
                {
                        System.out.println(it.next());
                }
        }
}


回复 使用道具 举报
十甫寸 发表于 2013-8-18 16:19
谢谢你刚才的回答,我还想问个问题!我想把随机出来的5个1~10之间的整数放入List集合,然后进行排序(我用 ...

你代码中的
  1. <span style="line-height: 1.5;"><b>//indexOf方法,是传入元素值,返回该元素第一次出现的角标。你想要获取的是元素的值。所以方法用错了。</b></span>
复制代码
回复 使用道具 举报

3q!懂了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马