• Java集合技巧


    集合的一些技巧:
     
    需要唯一吗?
    需要:Set
    需要制定顺序: 
    需要: TreeSet
    不需要:HashSet
    但是想要一个和存储一致的顺序(有序):LinkedHashSet
    不需要:List
    需要频繁增删吗?
    需要:LinkedList
    不需要:ArrayList
     
    如何记录每一个容器的结构和所属体系呢?
     
    看名字!
     
     
    List
    |--ArrayList
    |--LinkedList
     
    Set
    |--HashSet
    |--TreeSet
     
    后缀名就是该集合所属的体系。
     
    前缀名就是该集合的数据结构。
     
    看到array:就要想到数组,就要想到查询快,有角标.
    看到link:就要想到链表,就要想到增删快,就要想要 add get remove+frist last的方法 
    看到hash:就要想到哈希表,就要想到唯一性,就要想到元素需要覆盖hashcode方法和equals方法。 
    看到tree:就要想到二叉树,就要想要排序,就要想到两个接口Comparable,Comparator 。
     
    而且通常这些常用的集合容器都是不同步的。 
     
     
    ============================================
     
    Map:一次添加一对元素。Collection 一次添加一个元素。
    Map也称为双列集合,Collection集合称为单列集合。
    其实map集合中存储的就是键值对。 
    map集合中必须保证键的唯一性。 
     
     
    常用方法:
    1,添加。
    value put(key,value):返回前一个和key关联的值,如果没有返回null.
     
    2,删除。
    void  clear():清空map集合。
    value remove(key):根据指定的key翻出这个键值对。 
     
    3,判断。
    boolean containsKey(key):
    boolean containsValue(value):
    boolean isEmpty();
     
    4,获取。 
    value get(key):通过键获取值,如果没有该键返回null。
    当然可以通过返回null,来判断是否包含指定键。 
    int size(): 获取键值对的个数。 
     
    Map常用的子类:
    |--Hashtable :内部结构是哈希表,是同步的。不允许null作为键,null作为值。
    |--Properties:用来存储键值对型的配置文件的信息,可以和IO技术相结合。 
    |--HashMap : 内部结构是哈希表,不是同步的。允许null作为键,null作为值。
    |--TreeMap : 内部结构是二叉树,不是同步的。可以对Map集合中的键进行排序。 
  • 相关阅读:
    python学习笔记[3]-邮件的发送
    python学习笔记[2]-join 和 split
    python学习笔记[1]-凯撒密码
    tar 指令详解
    mysql主从数据库配置
    国产免费高性能桌面录屏软件LiveView1.0正式发布
    原来163的大容量异步上传是这么实现的
    C++ string warning C4251
    你不知道的代码规范---摘自《软件随想录》
    ffmpeg avcodec_decode_video2 解码失败
  • 原文地址:https://www.cnblogs.com/xiarongjin/p/8309729.html
Copyright © 2020-2023  润新知