java–集合

java–集合

Collection:  add(Object obj)  addAll(Collection c) size() clrear() isEmpty()
        remove(Object obj) removeAll(Collection c) retainAll(Collection c)
        contains(Object obj) containsAll(Collection c) hashCode()
        iterator(), toArray()
    

    –>List:有序,可以重复存储元素
        特有的: add(int index, Object obj) remove(int index)
               Object set(int index, Object obj)
               Object get(int index)   int indexOf(Object obj)
               int lastIndexOf(Object obj)   List subList(int from, int to)
        
        –>ArrayList:内部是一个数组结构,不同步,代替了Vector,查询快
        –>LinkedList:内部数据结构是一个链表, 不同步,增删快
        –>Vector:内部数据结构也是数组,同步的。增删查都慢
    
    
    –>Set:无序,元素唯一
        Set接口与Collection接口中的方法一致
        
        –>HashSet:内部数据结构是哈希表,不同步。
                怎么保证存储的元素唯一呢?
                通过对象的hashCode和equals方法来确定的
                如果对象的hashCode不同,就不用再判断equals方法了,直接存储到集合中
                如果对象的hashCode相同,就需要根据equals方法来进行判断
                            如果结果为true,视为相同,不再进行存储
                            如果为false,视为不同,就进行存储(不建议)
                            
                注意:如果元素存储到hashSet中,必须要覆盖hashCode和equals方法
                    尽量这两个方法保持一致
                
            –>LinkedHashSet:是其子类,当我们遍历集合的时候,是按照我们添加顺序进行的
                    频繁的遍历,但是增删比较少,可以选择这种集合
        –>TreeSet:可以对元素进行排序,是不同的
                判断元素唯一性的方式:就是根据比较方法返回的结构,0(相同), 不存储
                排序的方式?
                1.元素自身具有比较的功能,实现Comparable接口,重写compareTo方法
                2.元素自身不具有比较功能,没有实现Comparable接口,这个时候怎么办呢?
                    定义一个类,实现Comparator接口,重写compare方法
                    把这个类创建的对象作为参数,通过构造函数传递给TreSet集合

Map: 一次添加一对元素,    Collectio一次添加一次元素
    Map也成为双列集合,    Collection也成为单列集合
    Map中key必须唯一
    
    put(Object key, Object value)  remove(Object key) clear(), size()
    isEmpty()  Object get(Object key)   boolean containsKey(Object key)
    boolean containsValue(Object value)
    
    循环方式?
    1. keySet  –>得到key的集合,循环得到每一个key,通过get(key),获取value
    
    2.entrySet –>得到key和value整体的一个Map.Entry集合,循环得到每一个Map.Entry对象
                通过调用getKey()和getValue(),获取key和value
    
    
    –>HashMap:内部数据结构是哈希表,不同步。允许null作为key或者value
        
        –>LinkedHashMap:是其子类,可以按照添加进map的顺序进行遍历
        
    –>TreeMap:内部数据结构是二叉树,是不同步的。可以对key进行排序
    
    –>HashTable:很少用
        –>Properties:根据IO来一起使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114805.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何用公式编辑器打求和符号?

    如何用公式编辑器打求和符号?作为使用最广泛的公式编辑器,MathType中所包含的很多符号能够满足我们一般的学习工作需要,利用它能够毫不费力地编辑出各种各样的数学公式,除了常见的代数几何符号,集合符号以及概率统计等一些符号也有,还有一些模板可以直接使用。求和符号是概率统计中经常用到的一个符号,下面就来介绍用MathType打求和符号的方法。

    2022年8月31日
  • Svn服务启动的两种方式

    Svn服务启动的两种方式一、svn服务器启动›cmd命令行启动:vsvnserve-d–r文档仓库路径-d后台执行›-r版本库的根目录二、›Windows服务自动启动利用xp、2000以上的系统自带的工具

    2022年7月3日
  • 详细介绍scrollIntoView()方法属性

    详细介绍scrollIntoView()方法属性因为工作中用到了锚点设置,常用的总是出问题,后来扒拉出了这个属性,详细研究了下方便日后使用介绍scrollIntoView()的详细属性简介该scrollIntoView()方法将调用它的元素滚动到浏览器窗口的可见区域。PS:根据其他元素的布局,元素可能无法完全滚动到顶部或底部。TIPS:页面(容器)可滚动时才有用!语法element.scrollIntoView();//等同于element.scrollIntoView(true)element.scrollIntoV

    2022年6月15日
  • Java不可重入锁和可重入锁理解[通俗易懂]

    Java不可重入锁和可重入锁理解[通俗易懂]最近正在阅读JavaReentrantLock源码,始终对可重入和不可重入概念理解不透彻,进行学习后记录在这里。基础知识Java多线程的wait()方法和notify()方法这两个方法是成对出现和使用的,要执行这两个方法,有一个前提就是,当前线程必须获其对象的monitor(俗称“锁”),否则会抛出IllegalMonitorStateException异常,所以这两个方法必须在同步…

    2022年6月26日
  • 海思Hi3798处理器参数,Hi3798芯片详细信息介绍

    海思Hi3798处理器参数,Hi3798芯片详细信息介绍Hi3798CV200集成4核64位高性能CortexA53处理器、内置NEON加速引擎,强大的CPU处理能力可以满足各种差异化的业务需求。在码流兼容性、在线视频播放的流畅性、图像质量以及整机性能方面保持业界最好的用户体验。支持4K2KP60@10bit超高清视频解码和显示,支持H.265/HEVC、H.264/AVC、AVS+、MVC、MPEG2、MPEG4、VC-1、VP6、VP…

    2022年6月30日
  • html表白代码大全_跨年倒计时源码

    html表白代码大全_跨年倒计时源码html跨年代码,可直接使用,文中有详细使用说明。

    2022年10月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号