image.png
    image.png

    面试题:Collection 和 Collections的区别?

    1. package com.atguigu.java;
    2. import org.junit.Test;
    3. import java.util.ArrayList;
    4. import java.util.Arrays;
    5. import java.util.Collections;
    6. import java.util.List;
    7. /**
    8. * Collections:操作Collection、Map的工具类
    9. *
    10. *
    11. *
    12. * 面试题:Collection和Collections的区别?·
    13. *
    14. *
    15. * @author Dxkstart
    16. * @create 2021-05-23 19:59
    17. */
    18. public class CollectionsTest {
    19. @Test
    20. public void test1(){
    21. //1.reverse(list):反转list中元素的顺序
    22. ArrayList list = new ArrayList();
    23. list.add(123);
    24. list.add(123);
    25. list.add(123);
    26. list.add(12);
    27. list.add(13);
    28. list.add(23);
    29. System.out.println(list);
    30. Collections.reverse(list);//反转
    31. //2.shuffle(list):对list集合元素进行随机排序
    32. Collections.shuffle(list);//随机化
    33. System.out.println(list);
    34. //3.sort(list):根据元素的自然顺序对指定list集合元素按升序排序
    35. Collections.sort(list);
    36. System.out.println(list);
    37. //4.swap(list,int,int):将指定list集合中的 i 处元素和 j 处元素进行交换
    38. Collections.swap(list,2,3);//交换2,3处的元素
    39. System.out.println(list);
    40. //5.int frequency(Collection,Object):返回指定集合中指定元素的出现次数
    41. int frequency = Collections.frequency(list, 123);
    42. System.out.println(frequency);
    43. System.out.println("*****************************");
    44. //6.void copy(list dest,list src):将src中的内容复制到dest中
    45. ArrayList list1 = new ArrayList();
    46. list1.add(333);
    47. list1.add(33);
    48. list1.add(3);
    49. // ArrayList list2 = new ArrayList();
    50. // list2.add(555);
    51. // list2.add(55);
    52. // list2.add(5);
    53. //
    54. // Collections.copy(list1,list2);
    55. // System.out.println(list1);
    56. // System.out.println(list2);
    57. //正规化的
    58. List dest = Arrays.asList(new Object[list1.size()]);
    59. System.out.println(dest.size());
    60. Collections.copy(dest,list1);
    61. System.out.println(list1);
    62. }
    63. /*
    64. Collections 类中提供了多个synchronizedXxx()方法,
    65. 该方法可使指定集合包装成线程同步的集合,从而可以解决
    66. 多线程并发访问集合时的线程安全问题
    67. */
    68. }