持有对象--PriorityQueue前言本篇将讲述《Java编程思想》第11.11.1小节,PriorityQueuePriorityQueue简介1.Queue(队列)和PriorityQueue(优先级队列)比较:Queue:先进先出(FIFO)PriorityQueue(优先级队列):通过比较器控制元素的输出顺序(优先级)PriorityQueue是Queue的子类。2.Priori...
持有对象--Queue前言本篇讲述《Java编程思想》第11.11节,Queue一、概念Queue即队列,是一个典型的先进先出(FIFO)的容器。即从容器的一端放入事物,从另一端取出事物,并且事物放入容器的顺序与取出的顺序是相同的。队列常被当作一种可靠的将对象从程序的某个区域传输到另一个区域的途径。因为队列可以安全地将对象从一个任务传输给另一个任务,所以队列在并发编程中特别重要。 L...
持有对象--Map前言本篇将讲述《Java编程思想》第11.10小节,Map.示例下面的示例允许你使用一个String描述来查找Pet,它还展示了你可以使用怎样的方法通过使用containsKey()和containsValue()来测试一个Map 以便查看它是否包含某个键或某个值public class PetMap { public static void main(String...
持有对象--Stack前言本小节将简单介绍一下《Java编程思想》第11.8节,Stack.概念引入”栈“通常是指“后进先出”(LIFO)的容器。有时栈也被称为叠加栈,因为最后压入的元素第一个弹出栈。LinkedList具有能够直接实现栈的所有功能的方法,因此可以直接将LinkedList作为栈使用。不过,有时一个真正的“栈”更能把事情说清楚:public class Stack<T&...
持有对象--LinkedList前言本小节讲述《Java编程思想》第11.7节,LinkedList.本节中只是作了一个简单介绍,有兴趣的可以在网上多搜一些练习题进行练习一下补充开篇前小编先对之前的Arrays.asList方法作一个简单的补充说明。Arrays.asList的作用是将数组转化为list,一般是在初始化的时候,设置几个值进去,简化代码,省去add的部分。示例List<S...
ListIteratorListInterator是一个更加强大的Iterator的子类型,它只能用于各种List类的访问。尽管Iterator只能向前移动,但是ListIterator可以双向移动。它还可以产生相对于迭代器在列表中指向的当前位置的前一个和后一个元素的索引,并且可以使用set()方法替换它访问过的最后一个元素。你可以通过listIterator()方法产生一个指向List开始...
持有对象--迭代器前言 任何容器类,都必须有某种方式可以插入元素并将它们再次取回。毕竟,持有事物是容器最基本的工作。对于List容器,add():插入元素,get():取出元素。 如果从更高层的角度考虑,会发现这里有个缺点:要使用容器,必须对容器的确切类型编程。初看起来这没什么不好,但是考虑下面的情况:如果原本是对着List编码的,但是后来发现如果能够把相同...
持有对象--List前言本篇将讲述《Java编程思想》第11.5小节:List。本小节虽然内容不多,但是在工作和面试中都非常重要,当然本文只是为了简单的介绍一下List,如果想应对面试的话这一篇还不够。概念一、List概念List接口是继承Collection接口,所以Collection集合中有的方法,List集合也继承过来。1.List集合是有序,可重复的集合2.每个元素都有其对应的顺序...
持有对象--容器的打印前言本篇将介绍《Java编程思想》第11.4节,容器的打印一、容器的打印你必须使用Arrays.toString()来产生数组的可打印表示,但是打印容器无需任何帮助。下面是一个例子,这个例子中也介绍了一些基本类型的容器:public class PrintingContainers { static Collection fill(Collection<S...