zoukankan      html  css  js  c++  java
  • JAVA集合学习

    JAVA中有几种常用的集合类。分别是List,Set,Map等


    提示:Eclipse中自动导入包的快捷键  Ctrl+Shift+O

    一、List类

    父接口:该类是Collection集合接口的子接口。

    特点:List类是有序的,可以有重复的元素。

    分类:它也有两个子接口,分别是ArrayList(动态数组)、LinkedList(链表、队列、堆栈)

    常用方法:

    1.构造方法。eg:ArrayList<Integer> al = new ArrayList<Integer>();//Integer可用其他类替换。

    2.添加元素add(Object)         addAll(object集合).eg:al.add(3);

    3.删除元素remove(Object)  removeAll(object集合).eg:al.remove(4);

    4.获取元素get(index)eg:get(0);

    等其他的方法;


    二、Set类

    父接口:Coleection

    特点:无序,不可重复

    子接口:HashSet类,以哈希表的形式存放元素,插入删除速度很快;TreeSet类,

    方法:构造方法,Set是抽象类,在构造新对象时需要申明为HashSet   eg:Set<String> set = new HashSet<String>();

    add,remove,...遍历时可用:eg:

    Set<String> set = new HashSet<String>();
    for(String s : set){
      //TODO
    
    }

    添加元素:

    set.add("English");
    删除元素:

    <span style="font-size:18px;"><strong>set.remove("HanYu")</strong></span>

    等等其他方法。

    三、Map类

    子接口:HashMap类,TreeMap


    四、Table类

    子接口:HashTable类



    五、集合适用场景

    对于查找和删除较为频繁,且元素数量较多的应用,Set或Map是更好的选择;
    ArrayList适用于通过为位置来读取元素的场景;
    LinkedList 适用于要头尾操作或插入指定位置的场景;
    Vector 适用于要线程安全的ArrayList的场景;
    Stack 适用于线程安全的LIFO场景;
    HashSet 适用于对排序没有要求的非重复元素的存放;
    TreeSet 适用于要排序的非重复元素的存放;
    HashMap 适用于大部分key-value的存取场景;
    TreeMap 适用于需排序存放的key-value场景。


  • 相关阅读:
    Windows上安装PyV8
    Windows鼠标右键菜单添加SublimeText打开选项
    Windows使用Python虚拟环境
    Windows同时安装Python2和Python3
    Windows使用Cmder
    Visual Studio Code配置
    Windows 10使用Tesseract-OCR出现WindowsError: [Error 2]
    用pymysql代替MySQLdb
    使用python来搞定redis的订阅功能
    来写一个最基本的装饰器吧!
  • 原文地址:https://www.cnblogs.com/wenbaoli/p/5655750.html
Copyright © 2011-2022 走看看