【转载】Java中newInstance()和new()前言在讲散列和散列码开篇之前,需要对底层的知识做一个补充。概述在Java开发特别是数据库开发中,经常会用到Class.forName()这个方法。通过查询Java Documentation我们会发现使用Class.forName()静态方法的目的是为了动态加载类。在加载完成后,一般还要调用Class下的newInstance()静态方...
容器深入研究--SortedMap和LinkedHashMap前言本篇将讲述《Java编程思想》第17.8.2小节,SortedMap和第17.8.3小节,LinkedHashMap概述使用SortedMap,可以确保键处于排序状态。这使得它具有额外的功能,这些功能由SortedMap接口中的下列方法提供:Comparator comparator():返回当前Map使用的Comparato...
容器深入研究--理解Map前言本篇讲述《Java编程思想》第17.8小节,理解Map概述映射表(也称关联数组)的基本思想是它维护的键-值(对)关联,因此你可以使用键来查找值。标准的Java类库中包含了Map的几种实现,包括:HashMap,TreeMap,LinkedHashMap,WeakHashMap,ConcurrentHashMap,IdentityHashMap。 它们...
容器深入研究--队列前言本篇讲述《Java编程思想》第17.7小节,队列概述除了并发应用中,Queue在java中仅有两个实现是LinkedList和PriorityQueue,它们的差异在于排序行为而不是性能。示例public class QueueBehavior { private static int count=10; static <T> void t...
容器深入研究--Set和存储顺序前言本篇讲述《Java编程思想》第17.6小节,Set和存储顺序。1. 示例对Set中的TreeSet、HashSet、LinkedHashSet功能进行比较代码public class SetTest { public static void main(String[] args) { List<Integer> list...
容器深入研究--List的功能方法前言本篇讲述《Java编程思想》第17.5小节,List的功能方法概述 正如你所看到的,基本的List很容易使用:大多数时候只是调用add()添加对象,使用get()一次取出一个元素,以及调用iterator()获取用于该序列的Iterator。 下面例子中每个方法都涵盖了一组不同的动作:basicTest()中包含每个List都可以...
容器深入研究--可选操作前言本篇讲述《Java编程思想》第17.4小节,可选操作概述 执行各种不同的添加和移除的方法在Collection接口中都是可选操作。这意味着实现类并不需要这些方法提供功能定义。可选操作的具体实现与表现:一般是在Abstract类中实现特定的方法,但是该方法体内只有一条抛出UnsupportOperationException异常语句;从而继承该抽象类...
容器深入研究--Collection的功能方法前言本篇讲述《Java编程思想》第17.3小节,Collection的功能方法概述下面表格列出了可以通过collection执行的所有操作,它们是可以通过set或者list执行的所有操作(list中会有一些额外的方法)方法方法说明boolean add(T)确保容器持有具有泛型类型T的参数。如果没有将此参数添加进容器,则返回falseboolea...
容器深入研究--使用Abstract类前言本篇将要讲述《Java》编程思想第17.2.3小节,使用Abstract类概述对于产生用于容器的测试数据问题,另一个解放方式是创建定制的Collection和Map实现。每个java.util容器都有自己的Abstract类,它们提供了该容器的部分实现,因此你必须做的只是去实现那些产生想要容器所必需的方法。享元模式:可在普通解决方案需要过多对象,或者...