黑马程序员技术交流社区

标题: 被我遗忘的ArrayList之set方法 [打印本页]

作者: SYAD    时间: 2015-9-1 22:52
标题: 被我遗忘的ArrayList之set方法
package jihe;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

/*
* 编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List
* 集合进行排序(自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历输出集合
*
* 思路:A:创建一个List集合对象
*            B:生成5个随机数,存储到list集合中
*            C:对集合实现排序
*/
public class Test5 {
public static void main(String[] args) {
        ArrayList<Integer> l = new ArrayList<Integer>();
       
        Random rd = new Random();
        int x = rd.nextInt(10)+1;
        while (l.size()<5) {
                if (!l.contains(x)) {
                       
                        l.add(x);       
                        x = rd.nextInt(10)+1;
                }
        }
       
        System.out.println(l);
        //使用选择排序进行排序
        for (int i = 0; i < l.size(); i++) {
                for (int j = i+1; j < l.size(); j++) {
                        if (l.get(i)<l.get(j)) {
                                int temp1 = l.remove(j);
                                int temp2 = l.remove(i);
                               
                                l.add(i,temp1);
                                l.add(j,temp2); //这里的顺序要特别注意,先remove大的索引,先add小的索引
                        //其实这里可以用ArrayList中的自带的set(int index, E element)方法,用指定的元素替代此列表中指定位置上的元素。
                       /*
                             Integer temp = l.get(i);
                                l.set(i, l.get(j));
                                l.set(j, temp);
                         */
                        }
                }
        }
       
        System.out.println(l);
       

}
}


作者: forjunjian    时间: 2015-9-1 23:09
看看,学习下




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2