zoukankan      html  css  js  c++  java
  • List集合的子类ArrayList和LinkedList

    一:

    我们常用对集合的操作,查询、增删等操作。

    由于集合的存储的方式的不同,导致有些集合查询快但是增删慢。有些集合增删快、但是查询慢。

    ArrayList:由于ArrayList存储的方式为数组形式。有索引,导致查询速度很快,但是增删的时候,需要创建新的数组,对原先数组进行复制操作导致速度慢。

    所以在查询的时候,我们可以使用ArrayList,而LinkedList是链表,由于每个元素存储下个元素的地址和上个元素地址,所以在增加和删除的时候,只是变更数组的地址就可以,增删比较快,但是查询较慢。

    所以:

    ArrayList:适合查询

    LinkedList:适合增删,提供了首尾的插入和删除。

    我们看下这2个集合的方法:

     1 package test10;
     2 
     3 import java.util.LinkedList;
     4 
     5 public class Link_Test {
     6     public static void main(String...args){
     7         link_Me();
     8     }
     9     public static void link_Me(){
    10         LinkedList<String> link_list=new LinkedList<>();
    11         link_list.addFirst("ti");//首添加元素
    12         link_list.addFirst("ti");
    13         link_list.addFirst("ti");
    14         link_list.addFirst("ti");
    15         link_list.push("22");
    16         System.out.print(link_list);
    17         link_list.pop();//末尾删除。
    18         System.out.print(link_list);
    19         if(!link_list.isEmpty()){System.out.print(22);}
    20         link_list.removeFirst();// 首尾删除。
    21         link_list.removeLast();
    22         System.out.print(link_list);
    23     }
    24 }

    其余的方法是List和Collection的接口方法。

  • 相关阅读:
    数据库设计主键定义思考
    dotnet(C#)的面试题,大家共享一下
    一些有创意的SQL语句
    asp.net(c#) 服务器探针
    存储过程共有三种返回值
    如何删除表中的重复记录?等等常用SQL语句的积累
    一般存储过程示例
    关于utf8,unicode字符集
    在Asp.net里利用DIV层元素弹出窗体
    数据库主键设计思考
  • 原文地址:https://www.cnblogs.com/evilliu/p/7838585.html
Copyright © 2011-2022 走看看