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

Java中HashMap使用自定义Key类

自定义的Key类需要重载equals, hashCode函数。。 
package com.albert.test;
import java.util.Vector;
import java.util.HashMap;
/**
* @author tough_guy
*
*/
//对于自定义的key, 需要重载hashCode函数和equals函数
class IPSegment
{
long ip_s;
long ip_e;
int p;
IPSegment Reset(long f1, long f2, int f3)
{
ip_s = f1;
ip_e = f2;
p = f3;
return this;
}
public boolean equals(Object so)
{
if(! (so instanceof IPSegment))
return false;

if(this.ip_s == ((IPSegment)so).ip_s && this.ip_e == ((IPSegment)so).ip_e && this.p == ((IPSegment)so).p)
return true;
else
return false;
}

public int hashCode()
{
return (int)(ip_s + ip_e + p);
}
}
public class TestString {

Vector<IPSegment> vi = new Vector<IPSegment>();

HashMap<IPSegment, Integer> hii = new HashMap<IPSegment, Integer>();
HashMap<String, String> hss = new HashMap<String, String>();
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TestString ts = new TestString();
ts.vi.add(new IPSegment().Reset(1, 2, 3));
ts.vi.add(new IPSegment().Reset(2, 2, 4));
ts.vi.add(new IPSegment().Reset(3, 2, 5));
ts.vi.add(new IPSegment().Reset(4, 2, 6));
System.out.println(ts.vi.size());
System.out.println(ts.vi.get(2).ip_s + "\t" + ts.vi.get(2).ip_e + "\t" + ts.vi.get(2).p);

ts.hii.put(new IPSegment().Reset(2,2,3), 4);
ts.hii.put(new IPSegment().Reset(2,3,3), 7);
ts.hii.put(new IPSegment().Reset(3,2,3), 9);
System.out.println(ts.hii.size());
System.out.println(ts.hii.toString());
System.out.println((Integer)ts.hii.get(new IPSegment().Reset(2,3,3)));
System.out.println((Integer)ts.hii.get(new IPSegment().Reset(3,2,3)));

ts.hss.put("1", "hello");
System.out.println((String)ts.hss.get("1"));
}
}


相关文档:

Java学习之路

jave怎么学习最快
2008-11-08 06:57
欲速则不达,学习JAVA没有“可以拉”这种程度。丰富多彩,学习一年的时间也不一定能学完基础,我曾经也想过这个问题,但后来看了一篇文章,便彻然醒悟。下面这篇文章(不要嫌长,看完就有收益,还有此问题不要关闭或是投票,回答都是辛苦地,不要打积极性,不够好也将就些吧 ......

Java 对象的存储位置

摘选自《Java编程思想》
1. 寄存器(register)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。
2.堆栈(stack)。位于通用RAM(random-access memory, ......

使用Java实现对MySql数据库的导入与导出

package com.project.ajaxs;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.Calendar;
import java.uti ......

oracle调用java程序连sqlserver2005

1、在oracle的sys-sysdba下登陆
写一个java source程序链接sqlserver2005:
create or replace and compile java source named test as
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class excutesql1
{
    public static String entry ......

使用EditPlus配置Java编译环境

初学者更适合使用文本编辑软件来学习Java,对Java有一定认识后推荐使用Eclipse,对那些要求开发效率的程序员当然首选就是JBuilder。
         对于文本编辑软件我推荐EditPlus,EditPlus是很多程序员非常熟悉的编辑工具,它以占用系统资
源小、操作简便灵活、支持文件类型丰富 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号