• JAVA-集合-List


     1 package test;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Comparator;
     5 import java.util.LinkedList;
     6 import java.util.List;
     7 import java.util.Stack;
     8 import java.util.Vector;
     9 
    10 public class Collections {
    11     public static void main(String[] args) {
    12         /*List
    13          *     ArrayList - 顺序表
    14          *         1.底层是通过数组实现的
    15          *         2.初始容量为10
    16          *         3.在扩容的时候,每次在当前容量的基础上,增加一半,基于右移
    17          *         4.线程不安全
    18          *         5.插入和删除元素相对复杂,查询简单  --查询易,增删难
    19          * 
    20          * */
    21         List<String> L1= new ArrayList<>();
    22         L1.add("你好");
    23         L1.add("中国");
    24         L1.add("北京");
    25         System.out.println(L1);
    26         /*
    27          * List 
    28          *     LinkedList    - 链表
    29          *         1.底层通过节点来存储数据,当添加数据的时候,会定义一个新的节点来存储数据
    30          *         2.节点之间通过地址的引用的方式相互关联
    31          *         3.线程不安全
    32          *         4.增删易,查询难。
    33          * 
    34          * */
    35         List<String> L2=new LinkedList<>();
    36             L2.add("落花雨");
    37             L2.add("你飘扬在天际");
    38             System.out.println(L2);
    39         /*    Comparator -比较器
    40          *         1.重写compare 方法,在这个方法中制定比较规则
    41          *         2.在排序的时候根据compare方法返回值的正负来确定排序顺序
    42          *             例子:
    43          *                 根据字符串的首字母进行排序
    44          *                 根据首字母进行降序排序:首字母相同,则位置不发生变化
    45          * */
    46             L1.sort(new Comparator<String>() {
    47                 //比较规则就是写在这个方法里
    48                 //根据compare方法的返回值进行排序
    49                 //如果返回的是一个正数,那么认为o1<o2,从而将o1排到o2的后面
    50                 //如果返回的是一个正数,那么认为o1>o2,从而将o1排到o2的前面
    51                 @Override
    52                 public int compare(String o1, String o2) {
    53                     // TODO Auto-generated method stub
    54                     return o2.charAt(0)-o1.charAt(0);
    55                 }
    56             });
    57             
    58         /*    Vector - 向量
    59          *         1.是java最早的集合
    60          *         2.底层依然是依靠数组来存储元素
    61          *         3.底层数组默认初始容量是10
    62          *         4.如果不指定容量增量,那么每次扩容都是加上当前的长度,从而使数组的大小变为了原来的二倍 --- 三元
    63          *         5.线程安全
    64          * */
    65             List<String> L3 = new Vector<>();
    66             L3.add("花香依");
    67             L3.add("把往事情勾起");
    68             System.out.println(L3);
    69         /*    Stack - 栈
    70          *         1.是Vector的子类
    71          *         2.满足后进先出(LIFO)的原则
    72          *         3.栈顶元素:最后放入栈中的元素
    73          *         4.栈底元素:最先放入栈中的元素
    74          *         5.入栈压栈:将元素放入栈中
    75          *         6.出栈弹栈:将元素从栈取出
    76          * */
    77             Stack<String> L4 = new Stack<>();
    78                 L4.push("我愿意");
    79                 L4.push("将浮萍躺湖心");
    80                 System.out.println(L4.peek());
    81                 System.out.println(L4);
    82         /*
    83          *     Queue - 队列
    84          *         1.遵循先进先出的原则(FIFO)
    85          *         2.队头元素:最先放入队列中的元素
    86          *         3.队尾元素:最后放入队列中的元素
    87          *         4.Deque:双向队列    
    88          * */
    89     }
    90 }
  • 相关阅读:
    ICL7135的C程序
    数组属性的习题、Arrays工具、二维数组
    上传文件js端处理
    Java常见的系统路径与获取方法
    java 文件流的处理 文件打包成zip
    JAVA根据URL网址获取输入流
    nginx安装教程
    jackson 实体转json json字符串转实体
    java 对象重写tostring
    java 将文件流和文件名称转换为文件
  • 原文地址:https://www.cnblogs.com/xiaoluohao/p/11461670.html
Copyright © 2020-2023  润新知