仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 873|回复: 18
打印 上一主题 下一主题

[学习教程] 来看利用Hashtable对字符串举行碰撞

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:33:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译)
1.在一些字符串数组中,常会有反复的纪录,好比手机号码,我们能够经由过程Hashtable来对其举行过滤publicString[]checkArray(String[]str)...{
Hashtable<String,String>hash=newHashtable<String,String>();
for(inti=0;i<str.length;i++)...{
if(!hash.containsKey(str[i]))
hash.put(str[i],str[i]);
}
Enumerationenumeration=hash.keys();
String[]str_new=newString[hash.size()];
inti=0;
while(enumeration.hasMoreElements())...{
str_new[i]=enumeration.nextElement().toString();
i++;
}
returnstr_new;
}
示例:
String[]mobile={"13811071500","13811071500","13811071501","13811071503","13811071501"};
mobile=checkArray(mobile);
for(inti=0;i<mobile.length;i++)
System.out.println(mobile[i]);
输入了局为:
13811071503
13811071501
13811071500
2.A,B均为字符串数组,找出在A中存在,而在B中不存在的字符串
publicString[]compareArray(String[]A,String[]B){
Hashtable<String,String>hash=newHashtable<String,String>();
Hashtable<String,String>hash_new=newHashtable<String,String>();
for(inti=0;i<B.length;i++)
hash.put(B[i],B[i]);
for(inti=0;i<A.length;i++){
if(!hash.containsKey(A[i]))
hash_new.put(A[i],A[i]);
}
String[]C=newString[hash_new.size()];
inti=0;
Enumerationenumeration=hash_new.keys();
while(enumeration.hasMoreElements()){
C[i]=enumeration.nextElement().toString();
i++;
}
returnC;
}
示例:
String[]mobile1={"13811071500","13811071501","13811071502","13811071503","13811071504"};
String[]mobile2={"13811071500","13811071505","13811071502","13811071506","13811071504"};
String[]mobile3=compareArray(mobile1,mobile2);
for(inti=0;i<mobile3.length;i++)
System.out.println(mobile[i]);
输入了局:
13811071503
13811071501
存在的成绩:
每次都是倒序,能够再对程序略加修改,酿成正序。
3.将一个字符串数组中某一个特定的字符串过滤失落
/***//**查验一个字符串数组,若包括某一特定的字符串,则将该字符串从数组中删
除,前往残剩的字符串数组
*@paramstr_array字符串数组
*@paramstr_remove待删除的字符串
*@return过滤后的字符串
*/
publicString[]removeStrFromArray(String[]str_array,String
str_remove)...{
Hashtable<String,String>hash=newHashtable<String,String>();
for(inti=0;i<str_array.length;i++)...{
if(!str_array[i].equals(str_remove))
hash.put(str_array[i],str_array[i]);
}
//天生一个新的数组
String[]str_new=newString[hash.size()];
inti=0;
Enumerationenumeration=hash.keys();
while(enumeration.hasMoreElements())...{
str_new[i]=enumeration.nextElement().toString();
i++;
}
returnstr_new;
}

你通过从书的数量和开发周期及运行速度来证明:net网页编程和ruby要比java简单。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-21 10:14:19 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
深爱那片海 该用户已被删除
板凳
发表于 2015-1-25 16:08:00 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
若相依 该用户已被删除
地板
发表于 2015-1-25 22:54:59 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
小妖女 该用户已被删除
5#
发表于 2015-1-29 22:48:09 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
再见西城 该用户已被删除
6#
发表于 2015-2-6 05:47:14 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
第二个灵魂 该用户已被删除
7#
发表于 2015-2-8 01:04:34 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
不帅 该用户已被删除
8#
发表于 2015-2-10 01:00:26 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
9#
发表于 2015-2-11 16:12:29 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
柔情似水 该用户已被删除
10#
发表于 2015-2-13 11:37:37 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
乐观 该用户已被删除
11#
发表于 2015-3-3 20:21:28 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
再现理想 该用户已被删除
12#
发表于 2015-3-7 21:38:25 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
飘飘悠悠 该用户已被删除
13#
发表于 2015-3-23 18:03:54 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
精灵巫婆 该用户已被删除
14#
发表于 2015-3-28 10:42:05 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
愤怒的大鸟 该用户已被删除
15#
发表于 2015-3-31 22:33:38 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
admin 该用户已被删除
16#
发表于 2015-4-8 08:31:46 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
老尸 该用户已被删除
17#
发表于 2015-4-15 00:03:02 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
分手快乐 该用户已被删除
18#
发表于 2015-4-17 18:55:10 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
透明 该用户已被删除
19#
发表于 2015-4-21 16:04:51 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 22:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表