zoukankan      html  css  js  c++  java
  • java中集合的知识点

    1.JAVA中集合都存放在java.util包中

    2.JAVA集合中主要分为三种类型:Set,List,Map。我写的这篇文章主要是对Set和List的理解

    3.Collection是最基本的集合接口,Set和List都是通过这个接口实现的。

    首先放一张图说明他们的关系

    一:Collection

    主要方法:

    1.int size():返回集合中元素的数目

    2.boolean isEmpty():返回集合是否为空,一般就用上面的size()就够了,这个很少用

    3.boolean contains(Object o):判断元素是否包含在集合中

    4.boolean add(E e):向集合中添加一个元素

    5.boolean remove(Object o):删除集合中的一个元素

    6.void clear():删除集合中所有的元素

    7.Object[] toArray():返回一个数组,数组包含集合中所有元素

    7.Iterartor iterator():返回一个Iterator对象,迭代器,可以用来遍历集合中的元素,iterator()中有两个方法:hasNext()判断有没有下一个元素;next():取出下一个元素

    二:List

    特点:

      1.有下标;

      2.有序的(有序不是自然顺序,不是123,abc,有序指的是存和取的顺序一致)

      3.元素可重复

    主要方法:

      大部分继承自Collection

      1.增: add(E e);add(int index,E e);

      2.删: remove(Object obj);remove(int index);

      3.改: set(int index,E e);

      4.查: get(int index);

      5.其他:size(),clear(),contains(Object obj),toArray(),iterator();isEmpty()

    实现类:

      1.ArrayList:底层采用数组结构,查询快,增删慢

      2.LinkedList:底层采用链表结构,查询慢,增删快

      3.Vector:底层采用数组结构,查询快,增删慢(具有安全性,安全性体现在哪里?做个记号,以后再补)

    实现类的方法:

      1.ArrayList:方法基本和List中定义的一模一样

      2.LinkedList:除了和List接口中一样的方法之外,它还提供了大量首位操作的方法

         增:void addFirst(E e);void addLast(E e);

         删:E removeFirst();//删除首个元素,返回被删除的元素

                E removeLast();//删除尾部元素,返回被删除的元素

                E pop();//弹出,删除集合中的某一个元素,和 removeFirst功能是一样的

                void push(E e);//推入,把一个元素添加到集合中, 和addFist功能是一样的

         查:E getFirst();E getLast()

    三:Set

    特点:

      1.无下标

      2.无序的(无序指的是存和取的顺序不一定一致,LinkedHashSet和TreeSet除外)

      3.不可重复

    实现类:

      1.HashSet:底层采用哈希表结构,查询快,增删快,无序的

      2.LinkedHashSet:底层采用 链表+哈希表,查询快,增删快,有序的

    保证唯一性的两个方法:

      1. int hashCode():

      2.boolean equals(Object obj):

      

  • 相关阅读:
    MySQL 5.6 Windows 安装 配置 试用
    abp Could not cast or convert from System.Int64 to System.Collections 对不起,在处理你的请求期间,产生了一个服务器内部错误!
    using Volo.Abp.Application.Services;中 没有IAsyncCrudAppService 方法
    ComponentModel.DataAnnotations.Schema 找不到
    VS2017--无法启动程序dotnet.exe ........web 502
    Dev XtraReport 正在打印弹出框如何隐藏 批量打印 静默打印
    重绘 提示 DockedBarControl Dev控件
    GetHtml
    C# 相似对象赋值 通过table 互转 另辟蹊径 垃圾简单代码
    数据库 无表 获取时间列表
  • 原文地址:https://www.cnblogs.com/txbblog/p/10467953.html
Copyright © 2011-2022 走看看