Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对两个整数数组列表进行排序_Java_Sorting - Fatal编程技术网

Java 对两个整数数组列表进行排序

Java 对两个整数数组列表进行排序,java,sorting,Java,Sorting,我需要对两个ArrayLists进行排序。例如,给定 列表x=4 6 9 9 列表y=4 5 8 11 结果需要是4568911 我已经有了这个: public static void main(String[] args) { ArrayList<Integer> a = new ArrayList<Integer>(); a.add(1); a.add(4); a.add(9); a.add(16); Array

我需要对两个
ArrayList
s进行排序。例如,给定

  • 列表x=4 6 9 9
  • 列表y=4 5 8 11
结果需要是4568911

我已经有了这个:

public static void main(String[] args) {
    ArrayList<Integer> a = new ArrayList<Integer>();

    a.add(1);
    a.add(4);
    a.add(9);
    a.add(16);

    ArrayList<Integer> b = new ArrayList<Integer>();

    b.add(4);
    b.add(7);
    b.add(9);
    b.add(9);
    b.add(11);

    ArrayList<Integer> c = new ArrayList<Integer>();
    c.addAll(a);
    c.addAll(b);

    int smallest = c.get(0);

    for (int i = 0; i < c.size(); i++) {

        if (c.get(i) < smallest) {

            smallest = c.get(i);
        }
    }
publicstaticvoidmain(字符串[]args){
ArrayList a=新的ArrayList();
a、 增加(1);
a、 增加(4);
a、 增加(9);
a、 增加(16);
ArrayList b=新的ArrayList();
b、 增加(4);
b、 增加(7);
b、 增加(9);
b、 增加(9);
b、 增加(11);
ArrayList c=新的ArrayList();
c、 阿道尔(a);
c、 阿道尔(b);
int最小=c.get(0);
对于(int i=0;i
对于您的案例
Collections.sort(c);

我是不是遗漏了什么

对于您的案例
Collections.sort(c);


我在这里遗漏了什么吗?

实际上,您使用的代码如下:

int smallest = c.get(0);

for (int i = 0; i < c.size(); i++) {

    if (c.get(i) < smallest) {

        smallest = c.get(i);
    }
}

您可以使用集合。排序(列表)
对列表进行排序


实际上,您使用的代码如下所示:

int smallest = c.get(0);

for (int i = 0; i < c.size(); i++) {

    if (c.get(i) < smallest) {

        smallest = c.get(i);
    }
}

您可以使用集合。排序(列表)对列表进行排序


关于应该使用什么算法,您有什么限制吗?
Collections.sort(c)
a.add部分代码在第一个列表中添加了1而不是6。对于应该使用的算法,您是否有任何限制?
Collections.sort(c)
a.add是正确答案吗?还是这是家庭作业?您的数字都不匹配。列表x/y数字包括两个4,但您的结果只有一个4。代码的
a.add
部分在第一个列表中添加1,而不是6。
for (int i = 0; i < c.size(); i++) {

    if (c.get(i) < smallest) {

        smallest = c.get(i);
    }
}
        System.out.println("Before sorting-->" +c );
    for (int i = 0; i < c.size()-1; i++) {
       for(int j=i+1; j <c.size();j++)
       {
           if(c.get(i) > c.get(j))
           {
               int temp = c.get(j);
               c.set(j, c.get(i));
               c.set(i, temp);
           }
       }
    }
    System.out.println("After sorting-->" +c );
Before sorting-->[1, 4, 9, 16, 4, 7, 9, 9, 11]
After sorting-->[1, 4, 4, 7, 9, 9, 9, 11, 16]
    List<Integer> xList = Arrays.asList(4,6,9,9);
    List<Integer> yList = Arrays.asList(4,5,8,11);
    List<Integer> result = new ArrayList<Integer>();

    result.addAll(xList);
    result.addAll(yList);

    System.out.println("Before sorting-->" +result );

    Collections.sort(result);
    System.out.println("After sorting-->" +result );
Before sorting-->[4, 6, 9, 9, 4, 5, 8, 11]
After sorting-->[4, 4, 5, 6, 8, 9, 9, 11]