动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.Forte For Java开发指南.
.提高代码质量及字节码如何防止内.
.WebLogic6.0的一些使用经验.
.java与数据库连接.
.Java入门(8) 创建新类.
.对等计算实践:基于 IP 多播的发.
.用纯JAVA语言编程读取MAC地址的实.
.JBuilder CORBA Applet实做.
.百分之百纯Java(TM)-如何翻译Ja.
.在Java应用软件中加入logging.
.教你在Jave中实现3d编程简介.
.使用MIDP2.0开发游戏(5)游戏内核.
.Java培训热潮涌动.
.Eclipse中使用Junit插件测试.
.J2EE探索者:用JMS进行企业消息传.
.Java技术与XML常见问题之JAXP.
.05年11月程序语言世界排行-Java居.
.Java捕获当前屏幕图像.
.Java与XML联合编程.
.Java 语法介绍(一):Java语言的基.

collection类的使用总结

发表日期:2008-1-5 |



在5.0中,collection最大的一个改变就是可以指定它的具体类型:
List<String> list=new List<String>;

两个最基本的接口:
public interface Collection<E>
{
boolean add(E element);
Iterator<E> iterator();
. . .
}

public interface Iterator<E>
{
E next();
boolean hasNext();
void remove();
}

在5.0以前,常用的形式就是:
Collection<String> c = . . .;
Iterator<String> iter = c.iterator();
while (iter.hasNext())
{
String element = iter.next();
do something with element
}
但是在5.0中加入另外一种循环方式,类似于for each:
for (String element : c)
{
do something with element
}
这种方式对任何实现了Iterable接口的类都适用。

在使用remove的时候非凡要注重的一点是,在调用remove之前必须先调用一次next方法,因为next就像是在移动一个指针,remove删掉的就是指针刚刚跳过去的东西。即使是你想连续删掉两个相邻的东西,也必须在每次删除之前调用next。

对collection排序和查找
Collections类的sort方法可以对任何实现了List接口的类进行排序。在排序过程中,他默认这些类实现了Comparable接口,假如想用其他方法排序,可以在调用sort方法的时候提供一个Comparator对象:
Comparator<Item> itemComparator = new
Comparator<Item>()
{
public int compare(Item a, Item b)
{
return a.partNumber - b.partNumber;
}
});
反向排序:
Collections.sort(items, itemComparator);
Collections.sort(items, Collections.reverseOrder(itemComparator));

查找一个对象:
i = Collections.binarySearch(c, element);
i = Collections.binarySearch(c, element, comparator);
但是这些list必须是已经排好序了。而且要注重的是这个算法需要随机访问collection,假如不支持随机访问那么这个算法的效率可能会很低。

几种常用Collection:
ArrayList
An indexed sequence that grows and shrinks dynamically
可以随机访问,但是假如要从中间删除一个对象会影响效率,因为有些未删除的对象要相应的调整位置。非线程安全,但效率会比Vector要高,假如在单线程下,选它而不是Vector。

LinkedList
An ordered sequence that allows efficient insertions and removal at any location
只能按顺序访问,添加删除很方便。虽然提供了get(n)方法,但实际上还是顺序访问的,假如发现在LinkedList里面使用了这个方法,要考虑这个List类型是否选的合适

HashSet
An unordered collection that rejects duplicates
以hashcode为索引,适用于不知道所存对象位置而想寻找某个对象的情况。不可重复

TreeSet
A sorted set
与HashSet类似,但是所存对象是排了序的

LinkedHashSet
A set that remembers the order in which elements were inserted


PriorityQueue
A collection that allows efficient removal of the smallest element
加入Queue的时候会给与一个优先级,从queue中取出的时候先取出优先级最低的

HashMap
A data strUCture that stores key/value associations
存储key/value对,非线程安全,与HashTable相比效率要高些

treeMap
A map in which the keys are sorted
排序的HashMap

LinkedHashMap
A map that remembers the order in which entries were added 
上一篇:利用java做一个简单的计算器 人气:820
下一篇:编写高级 JScript应用代码 人气:361
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-6 Menalto Gallery v2.3 Rc2 多国语
2008-10-6 花香盈路(Hxcms) v9.0
2008-10-6 华军软件下载系统 v1.5
2008-10-6 e107 v0.7.13
2008-10-6 (开源PHP框架) CodeIgniter v1.6
2008-10-6 PHP在线考试系统PPExam v1.2.6 b
2008-10-6 SiteDynamic企业网站管理系统 v1
2008-10-6 WebPlayer9 P2P视频点播电影整站
2008-10-6 BCMS v1.1 测试版
2008-9-29 酷狗音乐(原KuGoo)2008 v5.310 正
2008-9-29 QQTab 1.1
2008-9-29 网络传送带 Net Transport 2.64a
2008-9-29 谷歌金山词霸v1.8
2008-9-29 TweakVI 1.0 Build 1090
2008-9-29 ACDSee Pro 2.5 Build 333 汉化绿
2008-9-29 Winamp v5.541(2189) 周明波简体
2008-9-27 CCleaner 2.12.651
2008-9-27 Mozilla Thunderbird 2.0.0.17 英
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成