
JAVA基础知识
centuryhero
这个作者很懒,什么都没留下…
展开
-
Java数据结构和算法--树(转)
(1)二叉树class Tree { class Node { public long value; public Node leftChild; public Node rightChild; public Node(long value) { ...原创 2010-08-25 18:16:59 · 91 阅读 · 0 评论 -
Collection之映射表(Maps)
映射表(map)用来存放键/值对,如果提供了键,就能够找到值,如一张员工信息记录表,键为员工ID,值为Employee对象。Java类库中为map提供了两个通用的实现:HashMap和TreeMap,都实现了Map接口。下列代码为存储的员工信息建立一个散列映射表(HashMap):Map<String, Employee> staff = new HashMap<Stri...原创 2010-09-07 11:08:54 · 211 阅读 · 0 评论 -
Collection之双端队列与优先级队列(Priority queue)
双端队列在Java SE6中,引入了Deque接口,并由ArrayDeque和LinkedList两个类实现,都提供了双端队列,并且可以在必要时增加队列的长度,不支持在队列中间添加元素。Priority queue优先级队列中的元素可以按照任意的顺序插入,却总是按照排序的顺序进行检索,无论何时调用remove方法,总会获得当前优先级队列中最小的元素。优先级队列并没有对所有的元素进行排序...原创 2010-09-06 10:28:27 · 194 阅读 · 0 评论 -
Collection之树集(TreeSet)
TreeSet与HashSet类似,不过TreeSet是一个有序集合(sorted collection),在对集合进行遍历时,每个值将自动的按照TreeSet内部排序的顺序呈现。当前TreeSet实现使用的是红黑树(red-black tree,详细介绍可以参照《算法导论》一书),每次将一个元素添加到树中时,都被放置在正确的排序位置上,因此,迭代器总是以排好序的顺序访问每个元素。将一个元素添...原创 2010-09-04 23:50:02 · 347 阅读 · 0 评论 -
Collection之散列表(hash table)
链表和数组中元素是按一定次序进行排列的,散列表不在意元素的顺序,但是可以实现快速查找某个元素,散列表按照有利于其操作目的的原则组织数据。散列表为每个对象计算一个整数,称为散列码(hash code),散列码是由对象的实例域产生的一个整数,具有不同数据域的对象将产生不同的散列码。如果自己定义类,需要负责实现这个类的hashCode方法,自己实现的hashCode方法应该与equals方法兼容...原创 2010-09-04 22:10:57 · 105 阅读 · 0 评论 -
Collection之数组列表
数组列表(ArrayList)和上文中介绍的链表(LinkedList)都实现了List接口,List接口用于描述一个有序几个,有两种访问元素的方案,一种是用迭代器,一种是用get和set方法随机的访问每个元素,不过使用get和set方法不适用于链表,效率因为低下。但是适用于ArrayList类,ArrayList封装了一个动态在分配的对象数组。 ArrayList和Vector...原创 2010-09-02 17:52:01 · 124 阅读 · 0 评论 -
Collection之链表
在Java语言中,所有的链表都是双向链接的(doubly linked),每个节点存放着序列中下一个节点的引用以及指向前驱节点的引用(可以通过调用AbstractCollection类中的toString方法打印出链表中所有元素)package com.chensl.collection;import java.util.*;public class LinkedListTest {...原创 2010-09-02 11:00:09 · 144 阅读 · 0 评论 -
Concrete Collection集合概要
Java类库中的具体的集合:ArrayList 一种可以动态增长和所见的索引序列LinkedList 一种可以在任何位置进行高效地插入和删除操作的有序序列ArrayDeque 一种用循环数组实现的双端队列HashSet 一种没有重复元素的无序集合TreeSet 一种有序集合EnumSet 一种包含枚举类型值的集LinkedHashSet 一种可以记住元素插入次序的集...原创 2010-09-02 00:22:34 · 145 阅读 · 0 评论 -
泛型代码与虚拟机
虚拟机没有泛型对象,所有对象都属于普通类,使用当前Sun的编译器来编译Java泛型代码,结果类将不能再5.0以前的虚拟机上运行。定义的泛型类型,都自动提供了一个相应的原始类型(raw type)原始类型的名字就是删去类型参数后的泛型名,擦出掉类型变量,并替换为限定类型(无限定的变量用Object)例如前文中提到的 Pair<T> 的raw type如下:public class P...原创 2010-08-31 22:27:15 · 139 阅读 · 0 评论 -
JAVA集合接口
集合接口,JAVA集合类库将接口与实现分离。下面以队列(queue)是如何分离的。队列接口指出可以在队列的尾部添加元素,在队列的头部删除元素,并且可以查找队列中元素的个数,队列的特点是“先进先出”。一个队列接口的最小形式类似下面这样:interface Queue<E> { void add(E element); E remove(); in...原创 2010-08-31 16:49:27 · 115 阅读 · 0 评论 -
JAVA静态成员和静态内部类
静态类(static class)即定义了静态方法,静态变量,静态代码块或者内部静态类的类。这些静态成员不需要实例化即可直接引用。静态方法:不需要实例化,可直接引用。静态变量:不需要实例化,可直接引用。静态代码块:在系统初始化时时使用静态内部类:不能操作访问外部数据。静态的类在运行时加载到内存中,不需要实例化,在类的内部也不能使用this。1. 在类中生命一个方...2010-08-29 10:45:22 · 147 阅读 · 0 评论 -
Java添加UTF-7字符集支持(转)
这段时间在做PushServer时,需要对编码过的邮件标题及发信人进行解码,然而开发的时候发现Javamail无法对UTF-7等编码解码,会抛出UnsupportedEncodingException。查看过JDK中rt.jar的部分代码,也看过javamail的部分代码,总结原因如下:JDK本身并不支持UTF-7字符集。关于这个bug(传送门),很早之前就有人反馈过给SUN了,但SUN已经明确...原创 2014-08-16 16:20:55 · 390 阅读 · 0 评论