• 集合框架方法(用于算法)


    一、ArrayList

    ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素

    1、arraylist.addint indexE element

    将元素插入到指定位置的动态数组中,如果 index 没有传入实际参数,元素将追加至数组的最末尾。

    返回值:如果成功插入元素,返回 true。

    2、arraylist.contains(Object obj)

    判断元素是否在动态数组中

    返回值:如果指定的元素存在于动态数组中,则返回 true。如果指定的元素不存在于动态数组中,则返回 false。

    3、arraylist.isEmpty()

    判断动态数组是否为空

    返回值:如果数组中不存在任何元素,则返回 true。如果数组中存在元素,则返回 false。

    4、arraylist.size()

    返回动态数组中元素的数量

    5、arraylist.remove(Object obj)    arraylist.remove(int index)

    删除动态数组里的单个元素

    返回值:如果传入元素,删除成功,则返回 true。如果传入索引值,则返回删除的元素。

    6、arraylist.get(int index)

    通过索引值获取动态数组中的元素

    返回值:返回动态数组中指定索引处的元素。

    7、arraylist.indexOf(Object obj)

    从动态数组中返回指定元素的位置的索引值。如果 obj 元素在动态数组中重复出现,返回在数组中最先出现 obj 的元素索引值。

    如果动态数组中不存在指定的元素,则该 indexOf() 方法返回 -1。

    8、arraylist.clear()

    删除动态数组中的所有元素

    9、Collections.sort(arraylist)

    对字符或数字列表进行排序

    二、LinkedList

     LinkedList(链表) 类似于 ArrayList,是一种常用的数据容器。与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。

     1、int size()

    返回计算链表的大小

     2、boolean add​(E e)

     将指定的元素追加到此列表的末尾。

    3、void addFirst​(E e)

    在此列表的开头插入指定的元素。

    4、E peek()

    检索但不删除此列表的头部(第一个元素)。

    5、E pop()

    删除并返回此列表的第一个元素

    6、boolean contains​(Object o)

    如果此列表包含指定的元素,则返回true 

    7、void push​(E e)

    将元素插入此列表的前面,此方法相当于addFirst(E) 

    三、HashSet

    HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。HashSet 允许有 null 值。HashSet 是无序的,即不会记录插入的顺序。

    1、boolean add​(E e)

    如果指定的元素尚不存在,则将其添加到此集合中。 如果此set已包含该元素,则调用将保持set不变并返回false 。

    2、boolean contains​(Object o)

    如果此set包含指定的元素,则返回true 。

    3、boolean remove​(Object o)

    如果存在,则从该集合中移除指定的元素,返回true 

    4、void clear()

    从该集中删除所有元素。 此调用返回后,该集合将为空。

    5、boolean isEmpty()

    如果此集合不包含任何元素,则返回 true 。

    6、int size()

    返回此集合中的元素数

    四、HashMap

    HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。

    HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。

    1、hashmap.putK keyV value

    将指定的键/值对插入到 HashMap 中。

    如果插入的 key 对应的 value 已经存在,则执行 value 替换操作,返回旧的 value 值,如果不存在则执行插入,返回 null。

    2、hashmap.isEmpty()

    如果 HashMap 中不包含任何键/值对的映射关系则返回 true,否则返回 false。

    3、hashmap.size()

    返回 hashMap 中键/值对的数量

    4、hashmap.containsKey(Object key)

    如果 hashMap 中是否存在指定的 key 对应的映射关系返回 true,否则返回 false。

    5、hashmap.entrySet()

    返回映射中包含的映射的 Set 视图

    entrySet() 方法可以与 for-each 循环一起使用,用来遍历迭代 HashMap 中每一个映射项。

    for(Entry<String, Integer> entry: numbers.entrySet()) {
                System.out.print(entry);
                System.out.print(", ");
    }

    6、hashmap.replace(K key, V oldValue, V newValue)

    替换 hashMap 中是指定的 key 对应的 value,如果 oldValue 不存,对 key 对应对 value 执行替换,返回 key 对应的旧值,如果存在则替换成功返回 true。

    7、hashmap.get(Object key)

    获取指定 key 对应对 value

  • 相关阅读:
    二分和牛顿法实现开根号
    leetcode 44. 通配符匹配
    leetcode 91. 解码方法
    leetcode 236. 二叉树的最近公共祖先
    leetcode 39. 组合总数
    leetcode:146. LRU缓存机制
    leetcode:124. 二叉树中的最大路径和
    二叉树前序遍历,中序遍历,后序遍历以及层次遍历实现
    leetcode: 4. 寻找两个有序数组的中位数
    Leetcode: 43. 接雨水
  • 原文地址:https://www.cnblogs.com/strong-FE/p/15439910.html
Copyright © 2020-2023  润新知