zoukankan      html  css  js  c++  java
  • Java集合

    Java大部分集合类是由Collection接口和Map<K,V>接口衍生而来。

      Collection接口:

        List<E>、Set<E>、SortedSet<E>、Queue<E>

          List接口:ArrayList、LinkedList、Vector

          Set接口:HashSet、EnumSet

          Set接口的子接口:Sorted<E>、TreeSet

      Map<key,value>接口:TreeMap、HashMap、Hashtable、EnumMap

      接口Iterable(迭代器)提供了iterator()方法,用于遍历集合中的所有元素。

      LinkedList:

            一种链表结构,在集合中间位置进行数据的插入或删除效果很好。(相关元素只需要更新地址),提供了队列、堆栈结构的一种实现。

    LinkedList<String> strs = new LinkedList<String>();
    strs.add("xxx");

     

      ArrayList:

            一种数组结构,对于随机访问get和set效率较高,插入或删除较差(相关元素都需要挪位置)。

    List<String> elements=new ArrayList<String>();
            elements.add("xxx");


    List的特点:
      有序、可以存放重复元素、异步、线程不安全。(Collections提供了相关synchronizedList同步方法。异步->同步。)

     

      HashSet:

        无序、不能重复、异步、线程不安全。

    Set<String> s = new HashSet<String>();
    s.add("a");

     

        自定义对象判断是否相同的规则:

          首先比较两个对象的hashCode是否相同,如果相同再调用其equals,根据返回值true或者false判断是否相同。
      TreeSet:

        有序、不能重复

    Set<String> s = new TreeSet<String>();
    s.add("11");

        集合中的元素实现Comparable接口,或者提供比较器Comparator,对集合中的元素进行排序。

        自定义对象的排序:实现Comparable接口中的compareTo()方法。

     

  • 相关阅读:
    Navicat for MySQL下载、安装与破解
    javaweb之Cookie学习
    static特别用法【静态导包】——Java包的静态导入
    面试感悟----一名3年工作经验的程序员应该具备的技能
    致孩子
    java中的代码块是什么意思,怎么用
    ModelAttribute用法之一
    SpringMVC获取页面数据乱码的解决get/post
    总结过去10年的程序员生涯 (经验)---大神的建议
    hdu 5237 二进制
  • 原文地址:https://www.cnblogs.com/ziyouqingfeng/p/4918733.html
Copyright © 2011-2022 走看看