赞
踩
特点:可以不传数据给它,可以传一个数据或者多个数据给它,也可以传一个数组给它
可变参数在方法内部就是一个数组
一个形参列表中的可变参数只有一个
可变参数必须在形参列表的最后面
- public class test {
- public static void main(String[] args) {
- ttt();//可以不传数据
-
- ttt(1);//可以传一个数据
- ttt(1,2,3);//可以传多个数据
-
- ttt(new int[]{1,2,3});//可以传一个数组
- }
- public static void ttt(int...nums)
- {
- //可变参数在方法内部是一个数组
- System.out.println(Arrays.toString(nums));
- }
- //只能有一个可变参数,且必须在形参列表的最后
- public static void ppp(int age,int...s)
- {}
- }
Collections类:
是一个用来操作集合的工具类
public static <T> boolean addAll(Collection<? super T> c, T... elements)
Adds all of the specified elements to the specified collection. Elements to be added may be specified individually or as an array.
往集合中批量添加数据
public static void shuffle(List<?> list)
Randomly permutes the specified list using a default source of randomness.
打乱List集合中的元素顺序
void sort(List<T> list)
对List集合中的元素进行升序排序
public static <T> void sort(List<T> list, Comparator<? super T> c)
Sorts the specified list according to the order induced by the specified comparator.
对List集合中的元素,按照比较器对象指定的规则进行排序
- public class test {
- public static void main(String[] args) {
- //1 addAll
- ArrayList<String>list=new ArrayList<>();
- Collections.addAll(list,"java1","java2","java3");
- System.out.println(list);
-
- //2:shuffle
- Collections.shuffle(list);
- System.out.println(list);//[java2, java3, java1]
-
- //sort,默认升序
- Collections.sort(list);
- System.out.println(list);//[java1, java2, java3]
-
- //sort排序自定义对象
- ArrayList<Student>list1=new ArrayList<>();
- list1.add(new Student("aa",10));
- list1.add(new Student("bb",90));
- list1.add(new Student("cc",22));
- Collections.sort(list1, new Comparator<Student>() {
- @Override
- public int compare(Student o1, Student o2) {
- return o1.getAge()-o2.getAge();//按照年龄升序
- }
- });
- Collections.sort(list1,(o1,o2)->o1.getAge()-o2.getAge());
- System.out.println(list1);
- }
- }public class test {
- public static void main(String[] args) {
- //1 addAll
- ArrayList<String>list=new ArrayList<>();
- Collections.addAll(list,"java1","java2","java3");
- System.out.println(list);
-
- //2:shuffle
- Collections.shuffle(list);
- System.out.println(list);//[java2, java3, java1]
-
- //sort,默认升序
- Collections.sort(list);
- System.out.println(list);//[java1, java2, java3]
-
- //sort排序自定义对象
- ArrayList<Student>list1=new ArrayList<>();
- list1.add(new Student("aa",10));
- list1.add(new Student("bb",90));
- list1.add(new Student("cc",22));
- Collections.sort(list1, new Comparator<Student>() {
- @Override
- public int compare(Student o1, Student o2) {
- return o1.getAge()-o2.getAge();//按照年龄升序
- }
- });
- Collections.sort(list1,(o1,o2)->o1.getAge()-o2.getAge());
- System.out.println(list1);
- }
- }
- public class Card {
- private String number;
- private String color;
- private int size;
-
- public Card() {
- }
-
- public Card(String number, String color, int size) {
- this.number = number;
- this.color = color;
- this.size = size;//牌的大小
- }
-
- public String getNumber() {
- return number;
- }
-
- public void setNumber(String number) {
- this.number = number;
- }
-
- public String getColor() {
- return color;
- }
-
- public void setColor(String color) {
- this.color = color;
- }
-
- public int getSize() {
- return size;
- }
-
- public void setSize(int size) {
- this.size = size;
- }
-
- @Override
- public String toString() {
- return "Card{" +
- "number='" + number + '\'' +
- ", color='" + color + '\'' +
- ", size=" + size +
- '}';
- }
- }
操作牌类
- public class Room {
- private ArrayList<Card>list=new ArrayList<>();
-
- public Room() {
- String []numbers={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
- int size=0;
- String []colors={"方块","梅花","红桃","黑桃"};
- for (String number : numbers) {
- size++;
- for (String color : colors) {
- Card c=new Card(number,color,size);
- list.add(c);
- }
- }
- Card c1=new Card("","小王",size++);
- Card c2=new Card("","大王",size);
- Collections.addAll(list,c1,c2);
- System.out.println(list);
- }
- public void randomCard()
- {
- System.out.println("开始洗牌");
- Collections.shuffle(list);
- //System.out.println(list);
- }
- public void devoteCard()
- {
- ArrayList<Card>list1=new ArrayList<>();
- ArrayList<Card>list2=new ArrayList<>();
- ArrayList<Card>list3=new ArrayList<>();
-
- for (int i = 0; i < list.size()-3; i++) {//只发51张牌
- Card c=list.get(i);
- if(i%3==0)
- {
- list1.add(c);
- }
- else if(i%3==1)
- {
- list2.add(c);
- }
- else
- {
- list3.add(c);
- }
- }
- sortCard(list1);
- sortCard(list2);//对牌进行大小排序
- sortCard(list3);
-
- System.out.println(list1);
- System.out.println(list2);
- System.out.println(list3);
- System.out.println("底牌是");
- List<Card> LastCard= list.subList(list.size()-3,list.size());//包前不包后
- System.out.println(LastCard);
- }
-
- private void sortCard(ArrayList<Card> list2) {
- /*Collections.sort(list2, new Comparator<Card>() {
- @Override
- public int compare(Card o1, Card o2) {
- return o1.getSize()-o2.getSize();
- }
- });
- }*/
- Collections.sort(list2, (o1, o2) -> o1.getSize() - o2.getSize());
- }
- }
test:
- public class test {
- public static void main(String[] args) {
- Room r=new Room();
- r.randomCard();
- ArrayList<Card>[]lists=new ArrayList[3];
- r.devoteCard();
-
- }
- }
结果:
[Card{number='3', color='方块', size=1}, Card{number='3', color='梅花', size=1}, Card{number='3', color='红桃', size=1}, Card{number='3', color='黑桃', size=1}, Card{number='4', color='方块', size=2}, Card{number='4', color='梅花', size=2}, Card{number='4', color='红桃', size=2}, Card{number='4', color='黑桃', size=2}, Card{number='5', color='方块', size=3}, Card{number='5', color='梅花', size=3}, Card{number='5', color='红桃', size=3}, Card{number='5', color='黑桃', size=3}, Card{number='6', color='方块', size=4}, Card{number='6', color='梅花', size=4}, Card{number='6', color='红桃', size=4}, Card{number='6', color='黑桃', size=4}, Card{number='7', color='方块', size=5}, Card{number='7', color='梅花', size=5}, Card{number='7', color='红桃', size=5}, Card{number='7', color='黑桃', size=5}, Card{number='8', color='方块', size=6}, Card{number='8', color='梅花', size=6}, Card{number='8', color='红桃', size=6}, Card{number='8', color='黑桃', size=6}, Card{number='9', color='方块', size=7}, Card{number='9', color='梅花', size=7}, Card{number='9', color='红桃', size=7}, Card{number='9', color='黑桃', size=7}, Card{number='10', color='方块', size=8}, Card{number='10', color='梅花', size=8}, Card{number='10', color='红桃', size=8}, Card{number='10', color='黑桃', size=8}, Card{number='J', color='方块', size=9}, Card{number='J', color='梅花', size=9}, Card{number='J', color='红桃', size=9}, Card{number='J', color='黑桃', size=9}, Card{number='Q', color='方块', size=10}, Card{number='Q', color='梅花', size=10}, Card{number='Q', color='红桃', size=10}, Card{number='Q', color='黑桃', size=10}, Card{number='K', color='方块', size=11}, Card{number='K', color='梅花', size=11}, Card{number='K', color='红桃', size=11}, Card{number='K', color='黑桃', size=11}, Card{number='A', color='方块', size=12}, Card{number='A', color='梅花', size=12}, Card{number='A', color='红桃', size=12}, Card{number='A', color='黑桃', size=12}, Card{number='2', color='方块', size=13}, Card{number='2', color='梅花', size=13}, Card{number='2', color='红桃', size=13}, Card{number='2', color='黑桃', size=13}, Card{number='', color='小王', size=13}, Card{number='', color='大王', size=14}]
开始洗牌
[Card{number='3', color='方块', size=1}, Card{number='3', color='黑桃', size=1}, Card{number='4', color='黑桃', size=2}, Card{number='4', color='梅花', size=2}, Card{number='4', color='方块', size=2}, Card{number='6', color='方块', size=4}, Card{number='8', color='梅花', size=6}, Card{number='8', color='黑桃', size=6}, Card{number='9', color='梅花', size=7}, Card{number='10', color='黑桃', size=8}, Card{number='10', color='方块', size=8}, Card{number='J', color='红桃', size=9}, Card{number='J', color='梅花', size=9}, Card{number='J', color='黑桃', size=9}, Card{number='K', color='红桃', size=11}, Card{number='A', color='黑桃', size=12}, Card{number='2', color='黑桃', size=13}]
[Card{number='3', color='红桃', size=1}, Card{number='6', color='黑桃', size=4}, Card{number='6', color='红桃', size=4}, Card{number='7', color='方块', size=5}, Card{number='7', color='红桃', size=5}, Card{number='7', color='黑桃', size=5}, Card{number='10', color='梅花', size=8}, Card{number='J', color='方块', size=9}, Card{number='Q', color='黑桃', size=10}, Card{number='K', color='方块', size=11}, Card{number='K', color='梅花', size=11}, Card{number='K', color='黑桃', size=11}, Card{number='A', color='红桃', size=12}, Card{number='2', color='梅花', size=13}, Card{number='2', color='红桃', size=13}, Card{number='', color='小王', size=13}, Card{number='', color='大王', size=14}]
[Card{number='3', color='梅花', size=1}, Card{number='4', color='红桃', size=2}, Card{number='5', color='红桃', size=3}, Card{number='5', color='梅花', size=3}, Card{number='5', color='方块', size=3}, Card{number='5', color='黑桃', size=3}, Card{number='7', color='梅花', size=5}, Card{number='8', color='红桃', size=6}, Card{number='8', color='方块', size=6}, Card{number='9', color='黑桃', size=7}, Card{number='9', color='方块', size=7}, Card{number='9', color='红桃', size=7}, Card{number='10', color='红桃', size=8}, Card{number='Q', color='红桃', size=10}, Card{number='Q', color='梅花', size=10}, Card{number='Q', color='方块', size=10}, Card{number='2', color='方块', size=13}]
底牌是
[Card{number='A', color='梅花', size=12}, Card{number='6', color='梅花', size=4}, Card{number='A', color='方块', size=12}]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。