两个List 合成一个排好序的List(方法很多,没有想到最简便的,暂时解决先): package arrayList; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class ArraySort { /** * DC */ public static void main(String[] args) { List<Integer> a = new ArrayList<Integer>(); List<Integer> b = new ArrayList<Integer>(); List<Integer> c = new ArrayList<Integer>(); a.add(8); a.add(9); a.add(1); a.add(5); a.add(11); a.add(7); a.add(12); a.add(6); b.add(3); b.add(4); b.add(9); b.add(2); b.add(10); b.add(5); Collections.sort(a);//排序 Collections.sort(b); int aindex=0; int bindex=0; int size = a.size()+b.size(); for (int i = 0; i < size; i++) { if(a.get(aindex)<=b.get(bindex)){ c.add(a.get(aindex));//将小的放到c的前面 if(aindex<a.size()-1){ aindex++; }else{ c.addAll(b.subList(a.size(),b.size()));//b剩下的一段直接加到c中 break; } }else{ c.add(b.get(bindex)); if(bindex<b.size()-1){ bindex++; }else{ c.addAll(a.subList(b.size(),a.size())); break; } } } System.out.println(c); } }