Collection和Collections

  • Collection
    Collection是 Set List Queue和 Deque的接口
    Queue: 先进先出队列
    Deque: 双向链表


    注:Collection和Map之间没有关系
    Collection是放一个一个对象的,Map 是放键值对的


  • Collections是一个类,容器的工具类,就如同Arrays是数组的工具类


  • 反转
    reverse 使List中的数据发生翻转

    package collection;
       
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
       
    public class TestCollection {
        public static void main(String[] args) {
            //初始化集合numbers
            List<Integer> numbers = new ArrayList<>();
             
            for (int i = 0; i < 10; i++) {
                numbers.add(i);
            }
             
            System.out.println("集合中的数据:");
            System.out.println(numbers);
             
            Collections.reverse(numbers);
             
            System.out.println("翻转后集合中的数据:");
            System.out.println(numbers);
             
        }
    }
  • 混淆
    shuffle 混淆List中数据的顺序

    package collection;
       
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
       
    public class TestCollection {
        public static void main(String[] args) {
            //初始化集合numbers
            List<Integer> numbers = new ArrayList<>();
             
            for (int i = 0; i < 10; i++) {
                numbers.add(i);
            }
             
            System.out.println("集合中的数据:");
            System.out.println(numbers);
             
            Collections.shuffle(numbers);
             
            System.out.println("混淆后集合中的数据:");
            System.out.println(numbers);
             
        }
    }
  • 排序sort 对List中的数据进行排序

    package collection;
       
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
       
    public class TestCollection {
        public static void main(String[] args) {
            //初始化集合numbers
            List<Integer> numbers = new ArrayList<>();
             
            for (int i = 0; i < 10; i++) {
                numbers.add(i);
            }
             
            System.out.println("集合中的数据:");
            System.out.println(numbers);
     
            Collections.shuffle(numbers);
            System.out.println("混淆后集合中的数据:");
            System.out.println(numbers);
     
            Collections.sort(numbers);
            System.out.println("排序后集合中的数据:");
            System.out.println(numbers);
             
        }
    }
  • 交换
    swap 交换两个数据的位置

    package collection;
       
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
       
    public class TestCollection {
        public static void main(String[] args) {
            //初始化集合numbers
            List<Integer> numbers = new ArrayList<>();
             
            for (int i = 0; i < 10; i++) {
                numbers.add(i);
            }
             
            System.out.println("集合中的数据:");
            System.out.println(numbers);
     
            Collections.swap(numbers,0,5);
            System.out.println("交换0和5下标的数据后,集合中的数据:");
            System.out.println(numbers);
             
        }
    }
  • 滚动
    rotate 把List中的数据,向右滚动指定单位的长度(循环右移)

    package collection;
       
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
       
    public class TestCollection {
        public static void main(String[] args) {
            //初始化集合numbers
            List<Integer> numbers = new ArrayList<>();
             
            for (int i = 0; i < 10; i++) {
                numbers.add(i);
            }
             
            System.out.println("集合中的数据:");
            System.out.println(numbers);
     
            Collections.rotate(numbers,2);
            System.out.println("把集合向右滚动2个单位,标的数据后,集合中的数据:");
            System.out.println(numbers);
             
        }
    }
  • 线程安全化
    synchronizedList 把非线程安全的List转换为线程安全的List
    package collection;
     
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
     
    public class TestCollection {
        public static void main(String[] args) {
            List<Integer> numbers = new ArrayList<>();
     
            System.out.println("把非线程安全的List转换为线程安全的List");
            List<Integer> synchronizedNumbers = (List<Integer>) Collections.synchronizedList(numbers);
     
        }
    }









评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值