zoukankan      html  css  js  c++  java
  • Java中的集合类

    Java集合类与数组的区别:Java的集合类的长度是动态的,数组则是固定长度的。

    Java集合类与数组的联系:使用相应的toArray()和Arrays.asList()方法可以互相转换。

    首先来看看Java集合框架中的接口:

    Collection接口实现类中存放的是元素和Map接口实现类中存放的是键值对。

    Set接口和List接口:Set接口不保证维护元素的顺序,而且元素不能重复。List接口维护元素的顺序,而且元素可以重复。

    SortedSet和SortedMap提供了排序的功能。 

    再来看看接口的实现:

    HashSet和LinkedHashSet:HashSet,为快速查找而设计的Set。存入HashSet的对象必须实现hashCode()和equals()。LinkedHashSet,具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序),于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。

    TreeSet: 提供排序功能的Set,底层为树结构 。相比较HashSet其查询速度低,如果只是进行元素的查询,我们一般使用HashSet。

    ArrayList和LinkedList:ArrayList底层采用数组实现,具有较高的查询速度。LinkedList底层采用双向循环列表实现,进行插入和删除操作时具有较高的速度,我们还可以使用LinkedList来实现队列和栈。

    TreeMap和HashMap:HashMap具有较高的速度(查询增删),TreeMap则提供了按照键进行排序的功能。

    Properties:该类也是集合类,里面的键和值都是String类型,通过它我们可以获取系统属性,读取配置文件。

    Collections:通过该类,我们可以对集合类进行一些排序和查找最大最小操作。

    Arrays:该类提供了操作数组的一些方法。

  • 相关阅读:
    Don’t Cross 32 GB!
    Kafka 是如何保证数据可靠性和一致性
    水塘抽样(Reservoir Sampling)问题
    实际场景HBase读写设计与实践
    Spark2.3整合kafka010手动管理offset
    周期性清除Spark Streaming流状态的方法
    Spark状态管理State的应用
    Effective C++
    马尔科夫链模型
    非线性规划
  • 原文地址:https://www.cnblogs.com/itboys/p/6151790.html
Copyright © 2011-2022 走看看