日期:2014-05-20  浏览次数:20675 次

Java 排序
有一个ArrayList 里面有个字段是0,1 进行循环 我怎样让ArrayList中的这个字段有顺序的排列,也就是值0的都在前面之后是值1的数据
ps:数据是从网络上获取的,自己不能修改

------解决方案--------------------
Java code

package com.zf.test2;

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

public class Test {

    public static void main(String[] args) {

        List<Integer> arrayList  = new ArrayList<Integer>();
        arrayList.add(0);
        arrayList.add(1);
        arrayList.add(0);
        arrayList.add(0);
        arrayList.add(0);
        arrayList.add(1);
        arrayList.add(0);
        arrayList.add(1);

        //将ArrayList 变成LinkedList 可以行
        LinkedList<Integer> ll = new LinkedList<Integer>();
        for (Integer integer : arrayList) {
            if(integer == 0)
                ll.addFirst(integer);
            else
                ll.addLast(integer);
        }
        System.out.println(ll); 
        
        //或者用JDK提供的Collections工具类排序
        Collections.sort(arrayList);
        System.out.println(arrayList);
    }

}