复习《Thinking in Java》笔记二:第十一章笔记
Java容器类库主要包含两种类型Collection(List,Set,Queue)和Map,它们的区别在于每个槽保存的元素个数,Collection只保存一个,而Map保存键和值。
1.当使用Arrays.asList()时,它会在使用一个final的数组作为底层实现,因此任何设计到更改其长度大小的操作都将抛UnsuportedExceptio异常。
2.final的数组,不能改变大小,但是能改变具体位置的值,final字段的初始化可以在声明时候,或者构造函数中。
3.ArrayList长于随机访问,而LinkedList则长于插入。
4.在比较indexOf,remove时候,需要注意参数对象的equals()方法,会根据此方法来比较。
5.如果只是遍历,foreach语法更加简洁,但是如果涉及修改则使用迭代器更加优雅。
6.ListIterator比Iterator的优势在于可以双向移动,而且可以使用set方法修改它所访问到的元素。
7.Stack(FILO)中的peek()返回栈顶元素,但不弹出,push()压栈,pop()弹出。
JDK中的栈是使用vector实现的,压栈相当于vector的addElement,它们都是同步的
8.set中的元素是无序的,如果想要有序,则使用TreeSet。
9.LinkedList (FIFO)实现了Queue接口,因此可以使用它表示queue。
其中offer()表示在尾部增加一个元素(在内部它会调用add())。
peek()和element()都在不移除元素的情况下,返回队头,但是peek()先检测siez是否等于0,若为0则返回null,再调用getFirst(),而element()则直接调用getFirst(),getFirst()在为0是会抛出一个NoSuchElementException异常。
poll()和remove()方法也类似。
相关文档:
List的用法
List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法,如表1所示。
表1 List接口定义的常用方法及功能
从表1可以看出,List接口提供的适合于自身的 ......
一、安装
创建安装目录,在/usr/java下建立安装路径,并将文件考到该路径下:
# mkdir /usr/java
1、jdk-6u11-linux-i586.bin 这个是自解压的文件,在linux上安装如下:
# chmod 755 jdk-6u11-linux-i586.bin
# ./jdk-6u11-linux-i586.bin
在按提示输入yes后,jdk被解压。
出现一行字:Do you aggree to the ......
在Java中有时会遇见乱码的情况,这里提供了几种转换方法
(一)Java中的编码转换
(二)可以在web.xml文件中配置的自己写的过滤器
第一种方法最简单也最方便,但是只能用在少量的地方或是偶尔一两次转码,如果大面积使用就不方便了,也大大增加了编码量,如果你的项目里没有用Spring的框架开 ......
java线程池技术浅析
为什么要用线程池?
诸如Web服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都有面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如HTTP、FTP或POP)、通过JMS队列或者可能通过轮询数据库。不管请求如何达到,服务器应用程 ......
一般情况获得本地所有的ip地址:
try {
InetAddress address = InetAddress.getLocalHost();
System.out.println(address.getHostAddress());
String name = address.getHostName();
System.out.println(name);
InetAddress[] addresses = &nbs ......