Skip to content

Latest commit

 

History

History
63 lines (55 loc) · 1.83 KB

15. Collections Algorithm.md

File metadata and controls

63 lines (55 loc) · 1.83 KB

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);
   }
}