zoukankan      html  css  js  c++  java
  • 29.3 ArrayList、List、LinkedList(链表)优缺点

     ArrayList、List特点:查询快、增删慢

     链表特点:查询慢,增删快

    案例

    package day29_collection集合体系;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /*
     * List:
     *         有序的(存储和读取的顺序是一致的)
     *         有整数索引
     *         允许重复的
     *
     * List的特有功能:
     *             void add(0, E element)
     *             E get(int index)
     *             E remove(int index)
     *          E set(int index, E element)
     *
     *   增删改查
     */
    public class ListDemo {
        public static void main(String[] args) {
            List li = new ArrayList();
            li.add("hello");
            li.add("world");
            li.add("java");
    
            li.set(1,"aa"); //将指定索引位置的元素替换为指定元素,并将原先的元素返回
            li.remove(2); //删除指定元素并返回
    
            for(int i=0;i<li.size();i++) {
                System.out.println(li.get(i));
            }
        }
    }
    package day29_collection集合体系;
    
    import java.util.LinkedList;
    
    /*
     * List的常用子类:
     *         ArrayList
     *             底层是数组结构,查询快,增删慢
     *         LinkedList
     *             底层结构是链表,查询慢,增删快
     *
     * 如何选择使用不同的集合?
     *         如果查询多,增删少,则使用ArrayList
     *         如果查询少,增删多,则使用LinkedList
     *         如果你不知道使用什么,则使用ArrayList
     *
     * LinkedList的特有功能:
     *             void addFirst(E e)
     *             void addLast(E e)
                 E getFirst()
                 E getLast()
                 E removeFirst()
                 E removeLast()
     *
     */
    public class LinkedListDemo {
        public static void main(String[] args) {
            LinkedList kl = new LinkedList();
            kl.add("hello");
            kl.add("wrold");
    
            kl.addFirst("java");//将元素添加到索引为0的位置
            kl.addLast("android");//将元素添加到索引为size()-1的位置
    
            System.out.println(kl.getFirst());
            System.out.println(kl.getLast());
    
            System.out.println(kl.removeFirst());
            System.out.println(kl);
        }
    }
  • 相关阅读:
    第六周总结&第四次实验报告
    课程总结
    第十四周课程总结&实验报告
    第十三周课程总结
    第十二周课程总结
    第十一周课程总结
    第十周课程总结
    第九周课程总结&实验报告(七)
    第八周课程总结&实验报告(六)
    第七周课程总结&实验报告(五)
  • 原文地址:https://www.cnblogs.com/longesang/p/11265553.html
Copyright © 2011-2022 走看看