易截截图软件、单文件、免安装、纯绿色、仅160KB

java集合框架


 
 
Java为数据结构的映射定义了一个接口java.util.Map.它有四个实现类,分别是HashMap, Hashtable,LinkedHashMap和TreeMap主要用于存储键值对,根据键得到值,因此不允许键重复,但允许值重复。
HashMap是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序完全是随机的。HashMap最多只允许一条记录的键为Null,允许多条记录的值为Null,当get()方法返回null值时,既可以表示HashMap中没有该键,也可以表示该键所对应的值为null,因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键,而应该用containsKey()方法来判断。HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步,可以用Collections的synchronizdeMap方法使HashMap具有同步能力,或者使用ConcurrentHashMap.另外HashMap是基于哈希表实现的,HashMap的键得重写hashCode()和equals()方法。
 
TreeMap
是实现SortedMap接口,能够把它保存的记录根据键排序,默认是按键值的升序排序,也可以指定排序的比较器,当用Iterator遍历TreeMap时,得到的记录是排过序的。所以TreeMap的键得实现Comparabl,没有实现的话就要给TreeMap指定一个Comparator
Hashtable中的方法是同步的,也即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而Hashtable不允许键值为空。
内部哈希:哈希映射技术
几乎所有通用Map都使用哈希映射,这是一种将元素映射到数组的非常简单的机制,您应了解哈希映射的工作原理,以便充分利用Map.
哈希映射结构由一个存储元素的内部数组组成,由于内部采用数组存储,因此必然存在一个用于确定任意键访问数组的索引机制,实际上该机制需要提供一个小于数组大小的整数索引值,该机制称作哈希函数。在Java基于哈希的Map中,哈希函数将对象转换为一个适合内部数组的整数,您别不必为寻找一个易于使用的哈希函数而大伤脑筋:每个对象都包含一个返回整数值的hashCode()方法,要将该值映射到数组,只需将其转换为一个正值,然后将该值除以数组大小后取余数即可,以下是一个简单的,适用于任何对象的Java哈希函数
int hashvalue = Maths.abs(key.hashCode()) % table.length;
(%二进制运算符(称作模)将左侧的值处以右侧的值,然后返回整数形式的余数。)
实际上,在1.4版发布之前,这就是各种基于哈希


相关文档:

Java和C++程序员待遇问题

      最近班里的同学都忙着报班,有个达内是java培训,有个深蓝是C++培训,网上看了些帖子说什么的都有,自我感觉培养一个C++程序员的周期要比培养一个jAVA程序员的周期长很多,当然,C++要是学的好的话肯定比学java的牛,但是付出的代价个人认为是有很大差距的。对于现在市场上对于语言的需求也 ......

PowerDesigner OOM 生成java类(一) 转 javapark

最近在使用PowerDesigner设计数据库,设计完cdm 和 pdm时,了解到可以用oom自动生成Java类.
    但是生成的Java类的默认格式和自己的要求有偏差,最终得到了些解决办法.这里记录了下.(我使用的版本是PowerDesigner12)
    在oom模型中language>edit current object language. 类的主格式是 ......

Java接口和Java抽象类区别

一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体的业务实现了。当你需要再开发另一个相近的项目时,你以前的抽象层说不定还可以再次利用 呢,面对对象的设计 ......

jsp,java加图片水印,文字水印

这个是加图片水印的!
package com.pic;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.awt.image.*;
import org.w3c.dom.*;
import com.sun.image.codec.jpeg.*;
import javax.imageio.*;
public class ImgBean_i{
public void ImgBean_i(){
}
public void ImgYin(S ......

JAVA图形基础


1.最简单的图形,一个消息框
import javax.swing.JOptionPane;
//表明程序使用javax.swing包的JOptionPane类
public class Dialog1{

public static void main(String[] args) {
// TODO Auto-generated method stub
    &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号