集合
「已注销」
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)
哈希表1.介绍哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键的情况,我们将其扩展到可以处理更加复杂的类型的键。2.链式哈希表链式哈希表从根本上说是...转载 2019-01-16 14:42:45 · 938 阅读 · 0 评论 -
Java ArrayList 、LinkedList 集合
前言: ArrayList、LinkedList是用于存储对象引用列表的两个Java Collection Framework类。ArrayList、LinkedList都实现了List接口。List Interface List只是元素的有序集合(也称为序列)。它添加了面向位置的操作,可用于快速访问,添加和删除列表中特定索引位置的元素...原创 2019-02-25 16:35:38 · 270 阅读 · 0 评论 -
Java8 对Map进行排序
前言: 随着Java 8的Stream之后推出后可以很优雅实现Map的排序。示例:final Map<String, Integer> wordCounts = new HashMap<>();wordCounts.put("USA", 100);wordCounts.put("jobs", 200);wordCounts.put("softwa...原创 2019-03-14 18:52:53 · 11867 阅读 · 0 评论 -
Java 从List中删除空值
目前: 介绍一下使用普通的Java,Java 8 lambda和一些第三方库从JavaList中删除空值。1. Java 7或更低版本:public void removeAllNullsFromListWithJava7OrLower() { List<String> list = new ArrayList<>(Arrays.asL...原创 2019-03-19 20:25:54 · 11698 阅读 · 1 评论 -
Java Map.merge() 使用
前言: 关于Map.merge()这可能是Key-Value中最通用的操作。但它也相当模糊很少使用。merge():它将新值置于给定键下(如果不存在)或更新具有给定值的现有键(UPSERT)。示例://计算唯一的单词出现次数var map = new HashMap<String, Integer>();words.forEach(word -> ...原创 2019-03-11 13:10:48 · 14956 阅读 · 0 评论 -
Java 自定义HashSet实现
前言: HashSet是一种数据结构为基本操作(add,remove,containsandsize)提供恒定的时间性能,假设哈希函数在桶之间正确地分散元素。有许多方法可以实现这种数据结构。这篇文章主要使用链表+数组在Java中简单实现hashmap。1.定义一个表示链表节点的类class Node<T> { T data; N...原创 2019-03-13 16:39:49 · 6733 阅读 · 0 评论