标签:: JDK8

0

(译)Java高效的计数器

你可能需要一个计数器来统计来自于数据库或者某个文件的一些事物(比如单词数量)。Java中使用HashMap可以很简单地实现一个计数器。本文比较了实现计数器的不同方式。最后再总结得出一个比较有效率的计数器。 1. 朴素的计数器简单地来说,可以这么实现一个计数器: 1234567891011121314String s = "one two three two three three";String[

0

(译)Java Map集合九问

一般来说,Map就是一个包含一个或多个键值对(Key-Value Pair)的数据结构,而且每一个键(Key)不允许重复出现。本文总结了Java Map九个最常见的问题。为了通用性考虑,我在每一个例子中都使用了泛型。在例子中你可以认为K和V这两个参数都是默认实现了Comparable接口的。 1. 将Map转化为List在Java中,Map接口提供了三种集合视图:key Set, value Se

0

(译)Java集合框架类和接口层级图

1. Collection vs Collections首先,”Collection”和”Collections”是两个不同的概念。从下面的层级图你可以看到,”Collection”是集合框架层级图的根元素,但是”Collections”只是一个提供操作集合框架静态方法的工具类。 2. 集合框架类层级图下面一幅图显示了集合框架的类层级图。 3. Map映射的类层级图这是Map映射的类层级图。

0

(译)Java集合框架十问

下面这些问题是Stackoverflow上面关于Java集合框架提问最多和讨论最多的问题。在你开始看这些问题之前,你最好先看看这些类层级图,以确保你知道它们的关系。 1. 什么时候最好使用LinkedList而不是ArrayList?从某种意义上来说,ArrayList就是数组。它的元素能够直接通过下标访问。但是如果这个数组快占满了,一个新的大的数组需要被分配出来,然后将原来的元素全部拷贝到新的数

0

(译)ArrayList vs. LinkedList vs. Vector

1. List链表一览链表,就像它名字说的一样,是一个由各个元素组成的有序序列。当我们谈论链表的时候,将它与集合Set相比较是一个不错的想法。集合Set由一组不重复的元素组成的无序集合。下面的一幅图描述了Java中集合框架的层次关系,通过这幅图你能对集合框架有一个不错的认识。 2. ArrayList vs. LinkedList vs. Vector从这个层次图来说,ArrayList,Lin

0

Java8-default,defender关键字

今天研究Java8源码的时候发现了一个神奇的关键字,default,我一直以为default只是在switch里面起作用,其余的就没什么了。然而,知道我看到它作为方法限定符之后我的三观刷新了。。。居然还可以作为权限访问符! 写了几个例子研究一下:源码1: 12345678public interface DefaultAPI { public void add(int a, in

0

static静态代码块,静态变量等加载顺序研究

一直很纠结static代码块和static静态变量的加载顺序,网上的教程良莠不齐,决定自己亲自试一下,毕竟实践才是检验真理的唯一标准,实践过才有发言权!好啦,先看代码: 父类代码: 123456789101112131415161718192021222324252627282930313233343536public class StaticBlock { {

0

关于List-contains方法的一些思考

实现了一个单链表,尤其是写contains方法的时候陷入了一个瓶颈,该方法对于String, Integer, Float, Double等等数据类型有效,对于对象却无效,我在想是我的实现的代码有问题吗? 代码如下: 12345678910111213141516171819202122232425262728293031323334/** * 判断某个元素是否在链表中 * @param elem

0

Java泛型中E、T、K、V等的含义

Java泛型中的标记符含义: E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number(数值类型) ? - 表示不确定的java类型 S、U、V - 2nd、3rd、4th types Object跟这些标记符代表的java类型有啥区别呢? Object是所有类的根类,任何类