对List随机排序

需求:

需要对List进行随机排序。

思路:

实现Comparator接口,随机产生compare返回值

实现:

public class RandomComparator implements Comparator {
	private final int[] seed = {-1, 0, 1 };

	@Override
	public int compare(T o1, T o2) {
		return seed[RandomUtils.nextInt(seed.length)];
	}

}

 用法:

private static void testRandomList() {
	List list = new ArrayList();
	for (int i = 0; i < 20; i++) {
		list.add(String.valueOf(i));
	}
	System.out.println(list);
	Collections.sort(list, new RandomComparator());
	System.out.println(list);
}

 备注:

上述的是个人实现,不建议采用,可以直接采用如下方式实现:

Collections.shuffle(list);  

更多详情参见:http://smallnetvisitor.iteye.com/blog/1866950

你可能感兴趣的:(对List随机排序)