- 浏览: 1359883 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (4)
- Struts1 (16)
- Spring (9)
- Hibernate (5)
- AJAX (16)
- MS Server (9)
- Oracle (35)
- 测试技术 (5)
- 其他 (37)
- JSF (1)
- EJB (5)
- ASP.NET (9)
- iBATIS (5)
- Struts Spring Hibernate (2)
- HTML (12)
- Eclipse使用 (5)
- 设计模式 (5)
- JSP (32)
- 正则表达式 (2)
- 服务器 (12)
- Java基础 (48)
- MySQL (4)
- 面试 (22)
- UML (1)
- 数据结构 (3)
- Ant (2)
- 规范 (4)
- JavaScript (29)
- 软件使用及技巧 (25)
- PHP (1)
- DWR (3)
- FreeMarker (1)
- ExtJs (17)
- JFreeChart (9)
- Reports (2)
- JavaException (1)
- Java Mail (1)
- Flex (9)
- 异常 (12)
- Log4j (2)
- WebService (1)
- jQuery (1)
- Sybase (2)
- myeclipse_plugin (2)
- Linux (5)
- jbpm (2)
- SCM (1)
- mongoDB (1)
最新评论
-
lihua2008love:
<typeAlias alias="User& ...
IBATIS简单操作 -
lihua2008love:
...
关于项目框架设计的一点学习 -
c_jinglin:
我使用<OBJECT CLASSID="cls ...
这就是个静态页面通过js控制mscomm对某com设备进行访问的例子. -
zlbjava:
赞,用了还不错
java获取请求的ip地址,并解析ip所属地区 -
完美天龙:
cs842813290 写道楼主,我明白的地方:在链表已有N个 ...
JAVA实现双向链表
这个大家都应该是不陌生了,我本来想介绍一下,不过,我想了一下,我说的,绝对没有《Think In Java》说的好,所以我就引用下面的话,然后,我举例测试,并附代码于后。
测试用例:
测试用例:
import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.LinkedList; import java.util.TreeMap; import java.util.Vector; public class TestColleaction { public TestColleaction() { // TODO Auto-generated constructor stub } /////////////////List类///////////////// void testArrayList() { ArrayList al=new ArrayList(); al.add(1); al.add(2); al.add(3); Iterator it=al.iterator();//用迭代器将其迭代化,将其序列化为一个序列, //这样就可以遍历整个序列而不必关心底层结构 System.out.println(al.size()); System.out.println(it.toString()); while(it.hasNext()) { System.out.println(it.next()); } } /** * Vector是同步、线程安全的,所以如果需要的是速度,并且不在多线程环境中使中,最好选ArrayList * ArrayList是非同步,当然也不是线程安全的 * 且每次Vector容量的自动扩展是按100%扩展,但是ArrayList是按50%扩展,这样使用ArrayList * 就会节省内存空间 */ void testVector() { Vector vector=new Vector(); vector.add(1); vector.add(2); vector.add(3); vector.add(4); //System.out.println(ll.peekFirst());//读第一个值 //System.out.println(ll.peek());//默认永远读第一个,通常用于循环中 //System.out.println(ll.peek()); Iterator it=vector.iterator(); while(it.hasNext()) { System.out.println(it.next()); } } /* * LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove, * insert方法在 LinkedList的首部或尾部。这些操作使LinkedList可被用作堆栈(stack), * 队列(queue)或双向队列(deque)。 */ void testLinkedList() { LinkedList ll=new LinkedList(); ll.add(1); ll.add(2); ll.add(3); ll.add(4); ll.addFirst(5);//链表操作可以进行前插或者是后插,中间任意插入 ll.addLast(6); //System.out.println(ll.peekFirst());//读第一个值 //System.out.println(ll.peek());//默认永远读第一个,通常用于循环中 //System.out.println(ll.peek()); ll.pop();//把第一个弹出栈 ll.push(10);//压入栈 Iterator it=ll.iterator(); while(it.hasNext()) { System.out.println(it.next()); } } /////////////////List类///////////////// /////////////////Map类///////////////// void testHashMap() { HashMap hm=new HashMap(); //HashMap及Hashtable都是散列表,不可以排序,就算是排好了序也会被打乱 hm.put(1, null);//可以放入空值 hm.put(2, "21"); hm.put(3, "33"); hm.put(4, "w434"); hm.put(5, "5we"); hm.put(6, "df6"); hm.put(7, "7we"); hm.put(8, "re8"); //Map类都要先转换为最老的迭代Collection后,才能够转换为新的迭代Iterator Collection c=hm.values(); Iterator it=c.iterator(); while(it.hasNext()) { System.out.println(it.next()); } } void testHashTable() { Hashtable ht=new Hashtable(); //ht.put(1, null);//不可以放入空值,这里会报错,并且Hashtable是同步的 //HashMap及Hashtable都是散列表,不可以排序,就算是排好了序也会被打乱 ht.put(2, "21"); ht.put(3, "33"); ht.put(4, "w434"); ht.put(5, "5we"); ht.put(6, "df6"); ht.put(7, "7we"); ht.put(8, "re8"); Collection c=ht.values(); Iterator it=c.iterator(); while(it.hasNext()) { System.out.println(it.next()); } } void testTreeMap() { TreeMap tm=new TreeMap(); //ht.put(1, null);//不可以放入空值,这里会报错,并且Hashtable是同步的 //TreeMap可以自动排序 tm.put(2, "21"); tm.put(3, "33"); tm.put(4, "w434"); tm.put(5, "5we"); tm.put(6, "df6"); tm.put(7, "7we"); tm.put(8, "re8"); Collection c=tm.values(); Iterator it=c.iterator(); //输出将会按参数自动排序 while(it.hasNext()) { System.out.println(it.next()); } } /////////////////Map类///////////////// /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub TestColleaction tc=new TestColleaction(); //tc.testArrayList(); tc.testVector(); //tc.testLinkedList(); //tc.testHashMap(); //tc.testHashTable(); //tc.testTreeMap(); } }
发表评论
-
项目中用到的数字证书的创建,签名实现
2012-07-15 20:17 2255首先 需要下载jar包 bcprov-jdk15-145.ja ... -
DecimalFormat的用法介绍
2012-02-06 14:16 2511import java.text.*; import ... -
tomcat,jdk,maven环境变量配置(备忘)
2011-12-25 10:24 1455环境变量: CATALINA_HOME D:\P ... -
java获得指定时间几天前或几天后的日期
2010-01-14 09:28 8882/** * 得到几天前的时间 * * ... -
动态读取配置文件
2009-08-04 11:30 2516import java.io.File; import ja ... -
JAVA对数字证书的常用操作
2009-07-12 18:42 1463一需要包含的包 import java.security.* ... -
签字证书例子
2009-07-12 18:31 1651import java.io.FileInputStr ... -
list,set,map,数组间的相互转换
2009-07-01 16:10 29391.list转set Set set = new HashSe ... -
动态运行Java代码
2009-07-01 14:08 1445有些情况下,我们不得不动态运行Java代码,以便提供更加灵活的 ... -
防止java反编译的一些常用方法
2009-02-12 14:33 21251.隔离Java程序 最 ... -
操作数组
2009-01-20 12:48 1275List list1 = new ArrayList() ... -
java写入文件时庄和薛字的问题
2008-12-26 10:47 1515今天碰到一个很有意思的问题,当写入文件是庄或薛的时候,就会出现 ... -
Hessian的学习笔记
2008-12-01 12:20 12651- 整个jar很小,200多K,3.1版本的,当然,我下载的 ... -
编写一个Java程序,对指定文本进行数字签名(文本随意)
2008-10-08 14:12 2887一:需要包含的包 import java.security. ... -
java的property配置文件的用法
2008-07-29 16:26 1775package configuration; ... -
统一异常处理
2008-07-16 16:47 1988package com.bjsxt.oa.manager; ... -
Java反射机制之代理模式
2008-07-02 23:12 1584代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问 ... -
java.lang.reflect.Array的应用
2008-07-02 23:11 1909java.lang.Array 类提供了动态创建和访问数组元 ... -
Java语言的反射机制
2008-07-02 23:10 1698在JAVA运行环境中,对 ... -
@Documented Annotation的使用
2008-07-02 23:09 2493@Documented Annotation的使用: @Do ...
相关推荐
Iterator接口也是Java集合中的一员,但它与Collection、Map接口有所不同,Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为迭代器。...
1. **迭代器接口(Iterator)**:定义了遍历集合元素的协议,包括初始化、判断是否还有下一个元素、获取下一个元素等方法。 2. **具体迭代器(Concrete Iterator)**:实现了迭代器接口,保存对聚合对象中当前元素的...
迭代器模式的核心思想是解耦客户端代码与集合对象之间的关系,使得代码更加通用,易于维护。下面我们将详细探讨Java中迭代器的用法及其相关知识点。 1. **迭代器接口**: Java中的`Iterator`接口位于`java.util`...
首先,通过`hashMap.entrySet()`获取`Entry`对象的集合,然后通过迭代器遍历这些`Entry`。例如: ```java HashMap, Integer> hashMap = new HashMap(); // 添加键值对... Iterator, Integer>> iterator = ...
Java中的迭代器(Iterator)与枚举器(Enumeration)是两种用于遍历集合(Collection)的接口。在Java集合框架中,集合提供了多种数据结构存储对象,而迭代器与枚举器提供了访问这些集合中元素的方法。尽管它们的...
4. **具体聚合对象(Concrete Collection)**:实现了聚合对象接口,存储并管理元素,可以创建具体的迭代器实例。 迭代器模式的优点: 1. **分离遍历操作**:迭代器模式将遍历元素的操作与聚合对象的结构分离,使两者...
3. Iterator 迭代器采用的是快速失败(fail-fast)机制,一旦在迭代过程中检测到该集合已经被修改(通常是程序中其它线程修改),程序立即引发 ConcurrentModificationException 异常,而不是显示修改后的结果,这样...
在Java、Python、C#等编程语言中,迭代器模式被广泛应用于集合类,如ArrayList、LinkedList等,提供了统一的遍历接口,使得用户可以方便地遍历各种数据结构。 在"迭代器模式demo"中,我们将深入理解这一模式的基本...
6. **Java集合框架中的迭代器**:除了基础的`Iterator`接口,Java还提供了`ListIterator`,它增加了`hasPrevious()`,`previous()`,`nextIndex()`和`previousIndex()`等方法,专为列表设计。 7. **迭代器模式与...
文章目录java迭代器Iterator 迭代器接口迭代器的方法:next():返回迭代中的下一个元素。hasNext():如果迭代具有更多元素,则返回true。remove():从基础集合中移除迭代器返回的最后一个元素。使用foreach 循环遍历...
下面是一个简化的Java Collection迭代器模式的实现示例: ```java public interface Iterator { boolean hasNext(); Object next(); void remove(); } public abstract class AbstractList extends ...
- `iterator()`:返回一个迭代器,用于遍历集合中的元素。 - `size()`:返回集合中的元素数量。 - `isEmpty()`:如果集合为空则返回 `true`。 - `toArray()`:将集合转换成数组。 #### Map 接口 - **定义**:`...
迭代器模式(Iterator Pattern)是设计模式中的一种行为型模式,它主要用于处理聚合对象(如列表、集合等)。此模式的核心目的是提供一种方法来访问聚合对象中的元素,同时不需要暴露聚合对象的内部结构。 在软件...
2. **迭代器(Iterator)**:负责遍历聚合对象中的元素。在C#中,`IEnumerator` 接口定义了迭代器的行为,包括 `Current` 属性(返回当前元素),`MoveNext` 方法(移动到下一个元素)和 `Reset` 方法(重置到初始...
Boost是一个开源的C++库集合,包含了许多实用的工具,其中`iterator_facade`是一个用于构建自定义迭代器的模板类。它能帮助我们定义一个新的迭代器类型,该类型符合STL的迭代器概念,包括前进、后退、读取和写入等...
- **remove()**: 可选操作,从产生此迭代器的集合中移除最后一次返回的元素。 #### 3. 使用示例 下面是一个简单的例子,展示了如何使用`Iterator`遍历一个`List`: ```java List<String> list = new ArrayList(); ...
Java Collection 集合 iterator 方法解析 Java Collection 集合 iterator 方法是一种非常重要的方法,通过该方法我们可以对集合进行遍历和操作。下面我们将详细介绍 Java Collection 集合 iterator 方法的实现原理...
1. **迭代器接口(Iterator)**:定义了遍历集合元素的方法,如`hasNext()`用于检查集合中是否还有下一个元素,`next()`用于获取下一个元素。在某些语言中,可能还包括`remove()`方法,用于删除当前元素。 2. **具体...
根据给定的信息,本文将详细解析“Tedu一段Java集合Collection”的知识点,涵盖集合的基本概念、集合框架中的关键接口、`Collection`接口的核心方法、集合的遍历方式、泛型的应用以及集合与数组之间的相互转换。...
集合迭代器这个Mongo.Collection实例添加了一个方法,该方法返回一个。例子 Animals = new Mongo . Collection ( 'animals' ) ;'ant bat cat dog elk fox gnu hog' . split ( ' ' ) . forEach ( function ( animal )...