zoukankan      html  css  js  c++  java
  • Java Colections 集合类 —— List、ArrayList、Set(HashSet)

    0. List<T> 是一个接口

    • 该接口定义的高级成员函数有:

      • contains() ⇒ 是否包含;
        String[] people;
        List names = Arrays.asList(new String[]{"zhang", "san"});
        for (String p: people) {
            if (names.contains(p)) {
                ...
            }
        }

    1. 删除元素的标准写法

    public void removeObserver(Observer o) {
        int i = observers.indexOf(o);
        if (i >= 0) {
            observers.remove(i);
        }
    }

    2. HashSet 的应用场景

    Set 中最常被使用的是测试(判断)归属性(基于对象的值),可以很容易地询问某个对象是否在该 Set 中。正因如此,查找(lookup)就成为了 Set 中最重要的操作。因此通常都会选择一个 HashSet 的实现,其专门对快速查找进行了优化。

    3. TreeSet

    • TreeSet 将元素存储在红黑树数据结构中;

      • 使用 TreeSet 实现对结果的排序
      SortedSet<Integer> intset = new TreeSet<Integer>();
    • HashSet 使用的是哈希散列函数
    • LinkedHashSet 也是使用了散列的方式以加快查询的速度,又通过链表来维护元素的插入顺序;
  • 相关阅读:
    树状数组
    1424:【例题3】喷水装置
    Matrix (二分套二分
    素数筛
    快速幂
    CentOS6/7-防火墙管理
    Ubuntu15.04 python升级到python-3.6.x
    查看Linux系统用户登录日志
    [shell]查找网段内可用IP地址
    最小化安装Linux的常用配置整理
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421285.html
Copyright © 2011-2022 走看看