现在的位置: 首页 > 综合 > 正文

java中如何对数组和集合进行排序

2017年12月03日 ⁄ 综合 ⁄ 共 1200字 ⁄ 字号 评论关闭

package com.hsy.interView;

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

public class ArrayAdd {

    /**
     * @param args
     */
    @SuppressWarnings("unchecked")
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr1={1,3,5,7,9};
        int[] arr2={2,4,6,8,10};
        List<Comparable> al = new ArrayList<Comparable>();
       
        for(int i=0;i<arr1.length;i++){
            al.add(arr1[i]);
        }
       
        for(int j=0;j<arr2.length;j++){
            al.add(arr2[j]);
        }


   /*  Iterator<Comparable> it=al.iterator();
        Integer obj = null;
        while(it.hasNext()){
            obj=(Integer)it.next();   
            al.add(obj.intValue());
        }

        */
               
        Collections.sort(al);//对数组排序
        //Arrays.sort(al.toArray());//对list排序
        System.out.println(al);
    }

}


=================================================

输出结果: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

1.如果允许迭代器遍历列表al时又向al中添加数据,那么就会产生一个问题:迭代器需不需要 

   遍历添加的数据?所以在Java中迭代器遍历列表时会对列表加锁,此时不允许增删列表中的

   数据。因此如果执行迭代器遍历的话就会报出【并发修改异常】

   Exception in thread "main" java.util.ConcurrentModificationException

2.如果要对数组排序,请使用java.util.Arrays.sort()方法.

   如果对list排序,请使用java.util.Collections.sort()方法.


3.java中的CopyOnWriteArrayList专门用来处理并发的List

       

抱歉!评论已关闭.