仓酷云

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

[学习教程] JAVA网页编程之java.util包进修条记一

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

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

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

x
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。条记进修java2SDK1.4.0java.util里边有几个主要的接口,列在这里作为进修的总结:

1java.util.Enumeration
有两个办法hasMoreElements(),nextElement()。利用办法以下:
//打印向量v的一切元素
for(Enumeratine=v.elements();e.hasMoreElements();){
System.out.println(e.nextElement().toString());
}
这里注重要挪用nextElement()起首要判别是不是容器里另有元素,若不判别在容器无下一元素时会抛出
NoSuchElementException非常。
固然要想遍历向量中的元素,还能够用Vector的size()和elementAt(int)两个办法,但总以为仍是这里的
和上面的办法要好(没测试过,人人能够会商)
注:java.util包里完成该接口的只要java.util.StringTokenizer类。

2java.util.Iterator
有三个办法hasNext(),next(),remove()。Iterator接口是用来代替Enumeration接口在java汇合框架中的使用
与Enumeration的区分:多了个remove()办法,办法名字分歧。利用办法以下:
//打印向量v除值为“a“的一切元素
importjava.util.*;

publicclasstest{
publicstaticvoidmain(String[]args){
Vectorv=newVector(4);
v.add("a");
v.add("b");
v.add("c");
v.add("d");
for(Iteratoriter=v.iterator();iter.hasNext();){
if(iter.next().equals("a"))iter.remove();
elseSystem.out.println(iter.next().toString());
}
}
}
运转了局我吃了一惊:只打出一个值c,并且抛出非常NoSuchElementException
缘故原由:第一次轮回挪用iter.next()值为a,挪用iter.remove()将其删除,准确。
第二次轮回挪用iter.next()值为b,进进else语句,又挪用一次iter.next()值为c打印
第三次轮回挪用iter.next()值为d,进进else语句,此时向量v中已无更多元素,再挪用next()
则抛出非常。
结论:好像Enumeration接口一样,每次挪用next(),都要想挪用hasNext(),并且你必需避免挪用了
一次hasNext(),尔后边屡次挪用next();
remove()办法只能删除next()办法所指定的元素,假如你不挪用next(),你就不该挪用remove()
不然会抛出IllegalStatementException,也就是说你不克不及用上面的代码完成相似
要清空汇合里一切的元素
for(Iteraoriter=v.iterator();iter.hasNext();){
iter.remove();
}
注:java汇合Collection里边有个iterator()办法,前往一个Iterator.而详细完成取决于完成该接口的类。
好比AbstractCollection里有个privateclassitr完成了Iterator,而iterator()办法前往的就是这个itr。
一切完成了Collection接口的类都能够间接挪用iterator()
ArrayList,LinkedList,vector,HashSet,TreeSet

3java.util.Comarator
有两个办法:intcompare(objecto1,objecto2),booleanequals(objecto)
前者分离用正,零,负暗示两个对象排序划定规矩中的抢先,相称,掉队
后者判别两对象是不是相称
注:完成该接口的类为Collator。别的“effectivejava“一书对这个接口好象有很具体的形貌

4java.util.RandomAccess
这只是个标记接口,用于标明完成该接口的类撑持fast(generallyconstanttime)randomaccess。
我的了解是即查找元素的工夫与容器里元素的几有关,能够用下标来取元素。以下是jdk中
给的一个对照:
for(inti=0,intn=list.size();i<n;i++)
list.get(i);
for(Iteratoriter=list.iterator();iter.hasNext();)
list.next();
前者运转起来要比后者快
注:完成该接口的类有ArrayList,Vector

5java.util.EventListener
标记接口,一切事务监听者接口必需扩大的接口

6java.util.Observer看不懂实践中怎样用:(

最庞大的Collection和Map接口下次再学吧,饿逝世了


令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-21 13:34:44 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
不帅 该用户已被删除
板凳
发表于 2015-1-30 19:15:32 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
蒙在股里 该用户已被删除
地板
发表于 2015-2-6 15:13:32 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
莫相离 该用户已被删除
5#
发表于 2015-2-16 20:10:15 | 只看该作者
是一种突破用户端机器环境和CPU
若相依 该用户已被删除
6#
发表于 2015-3-5 09:19:50 | 只看该作者
是一种为 Internet发展的计算机语言
第二个灵魂 该用户已被删除
7#
发表于 2015-3-12 06:12:42 | 只看该作者
是一种为 Internet发展的计算机语言
精灵巫婆 该用户已被删除
8#
发表于 2015-3-17 21:10:59 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
9#
发表于 2015-3-25 02:42:26 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
深爱那片海 该用户已被删除
10#
发表于 2015-4-10 05:21:55 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
飘灵儿 该用户已被删除
11#
发表于 2015-4-10 22:16:32 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
海妖 该用户已被删除
12#
发表于 2015-4-12 05:22:55 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
分手快乐 该用户已被删除
13#
发表于 2015-4-15 06:25:10 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
飘飘悠悠 该用户已被删除
14#
发表于 2015-4-16 21:55:35 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
冷月葬花魂 该用户已被删除
15#
发表于 2015-4-25 16:55:35 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
山那边是海 该用户已被删除
16#
发表于 2015-4-26 05:09:09 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
小妖女 该用户已被删除
17#
发表于 2015-4-29 06:15:56 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
金色的骷髅 该用户已被删除
18#
发表于 2015-5-1 08:45:37 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
简单生活 该用户已被删除
19#
发表于 2015-5-6 22:09:34 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 02:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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