15. Collections Algorithm
package com .alexanderli95 .collections03 ;
import java .util .ArrayList ;
import java .util .Collections ;
import java .util .List ;
/**
* Collections重要方法
* 1.binarySearch(List<? extends T> list, T key, Comparator<? super T> c) 二分法查找,要求容器有序
* 2.sort(List<T> list) 排序
* sort(List<T> list, Comparator<? super T> c)
* 3.reverse(List<?> list) 容器列表反转
* 4.shuffle(List<?> list) 打乱顺序(洗牌)
* 5.swap(List<?> list, int i, int j) 交换指定列表中指定位置的元素
*/
public class CollectionsDemo01 {
public static void main (String [] args ) {
List <Integer > list =new ArrayList <Integer >();
list .add (1 );
list .add (2 );
list .add (3 );
list .add (4 );
list .add (5 );
System .out .println (list );
Collections .reverse (list );
System .out .println (list );
System .out .println ("===============" );
//模拟扑克过程
List <Integer > cards =new ArrayList <Integer >();
for (int i =0 ;i <54 ;i ++){
cards .add (i );
}
//洗牌
Collections .shuffle (cards );
//发牌给三个人
List <Integer > p1 =new ArrayList <Integer >();
List <Integer > p2 =new ArrayList <Integer >();
List <Integer > p3 =new ArrayList <Integer >();
for (int i =0 ;i <51 ;i +=3 ){
p1 .add (cards .get (i ));
p2 .add (cards .get (i +1 ));
p3 .add (cards .get (i +2 ));
}
//底牌
List <Integer > lasts =new ArrayList <Integer >();
lasts .add (cards .get (51 ));
lasts .add (cards .get (52 ));
lasts .add (cards .get (53 ));
System .out .println (p1 );
System .out .println (p2 );
System .out .println (p3 );
System .out .println (lasts );
}
}