-
java string iterator_Java:如何从String获取Iterator
2021-02-26 21:04:13一种选择是使用Guava:ImmutableList chars = Lists.charactersOf(someString);UnmodifiableListIterator iter = ...但是,如果您最终自己完成此操作,我建议不要像其他一些示例那样公开Iterator的实现类.我建议改为创...一种选择是使用Guava:
ImmutableList chars = Lists.charactersOf(someString);
UnmodifiableListIterator iter = chars.listIterator();
这将生成一个由给定字符串支持的不可变字符列表(不涉及复制).
但是,如果您最终自己完成此操作,我建议不要像其他一些示例那样公开Iterator的实现类.我建议改为创建自己的实用程序类并公开静态工厂方法:
public static Iterator stringIterator(final String string) {
// Ensure the error is found as soon as possible.
if (string == null)
throw new NullPointerException();
return new Iterator() {
private int index = 0;
public boolean hasNext() {
return index < string.length();
}
public Character next() {
/*
* Throw NoSuchElementException as defined by the Iterator contract,
* not IndexOutOfBoundsException.
*/
if (!hasNext())
throw new NoSuchElementException();
return string.charAt(index++);
}
public void remove() {
throw new UnsupportedOperationException();
}
};
}
-
java string iterator_Java:如何从String中获取Iterator
2021-02-26 21:03:36一个选项是使用Guava:ImmutableList chars = Lists.charactersOf(someString);UnmodifiableListIterator ...如果你最终自己这样做,虽然,我建议不要公开实现类的Iterator作为一些其他的例子。我建议,而不是制作...一个选项是使用
Guava:
ImmutableList chars = Lists.charactersOf(someString);
UnmodifiableListIterator iter = chars.listIterator();
这将产生由给定字符串支持的不可变的字符列表(不涉及复制)。
如果你最终自己这样做,虽然,我建议不要公开实现类的Iterator作为一些其他的例子。我建议,而不是制作自己的实用程序类,并公开一个静态工厂方法:
public static Iterator stringIterator(final String string) {
// Ensure the error is found as soon as possible.
if (string == null)
throw new NullPointerException();
return new Iterator() {
private int index = 0;
public boolean hasNext() {
return index < string.length();
}
public Character next() {
/*
* Throw NoSuchElementException as defined by the Iterator contract,
* not IndexOutOfBoundsException.
*/
if (!hasNext())
throw new NoSuchElementException();
return string.charAt(index++);
}
public void remove() {
throw new UnsupportedOperationException();
}
};
}
-
请问一个关于如何获取iterator遍历后的数据.
2013-12-23 15:15:50s:iterator value="resultList" status="st" id="id"> <s:form> <tr> <td><s:property value="#id.id" /> </td> <td onclick="input1(${st.... -
修改练习1中的Gerbil类,将其...为keySet()获取Iterator,使它遍历Map,针对每个键查询Gerbil,然后打印出键。
2018-04-26 17:29:13这里,键:每个Gerbil的名字即“Gerbil+编号”,值:Gerbil类的对象。...import java.util.Iterator; import java.util.Map; import p393.Gerbil; public class UseMap { Map<String,Gerbil&g...这里,键:每个Gerbil的名字即“Gerbil+编号”,值:Gerbil类的对象。
package p421; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import p393.Gerbil; public class UseMap { Map<String,Gerbil> myger=new HashMap<String,Gerbil>(); Iterator<String> it;//Iterator<String>it =myger.keySet().iterator();这么写就会出现空指针异常 UseMap(int num){ for(int i=0;i<num;i++){ myger.put("Gerbil"+i, new Gerbil(i)); } it= myger.keySet().iterator();//获取某个List对象的iterator一定要在该List赋值之后。 } public void out(){ while(it.hasNext()){ String s =it.next();//这里需要用另外一个String类来接收it.next(),个人猜想是因为每调用一次it.next(),则会向后移动一下 System.out.println(s); myger.get(s).hop(); } } static class Test{ public static void main(String[] args) { UseMap um = new UseMap(5); um.out(); } } }
在thinking in java 的第十一章中,我多次使用Iterator出现空指针异常,原因就是用Iterator接收List.iterator()时,List还没有开始往里面塞东西,这样的话,得出的Iterator自然就不是我们想要的。这一点特别要注意。通常情况下,只需要把Iterator = List.Iterator()放在List已经完成赋值之后就行了。
因为it接收的是Map的keySet,即Map中键的Set列,所以system.out.println(it.next()),就能输出Map中的键,myger.get(it.next()).hop,就能调用对应键中的hop()方法,但是这里却需要用String s 来接收it.next(),再对s进行操作,这里的原因就是每调用一次it.next()迭代器就会后移一次,得出的结果自然不是我们想要的。并且最后一次会越界。
-
iterator获取当前元素_Iterator和ListIterator的区别是什么?
2020-12-02 00:49:28Iterator可用来遍历Set和List集合,但是...ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素、替换元素、获取前一个和后一个元素的索引等。举例:public class ListTest { public static voi...- Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。
- Iterator对集合只能是前向遍历,ListIterator即可以前向也可以后向。
- ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素、替换元素、获取前一个和后一个元素的索引等。
举例:
public class ListTest { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("北京"); list.add("上海"); list.add("广州"); list.add("深圳"); System.out.println("List: " + list); // Get the list iterator ListIterator<String> iterator = list.listIterator(); while (iterator.hasNext()) { int index = iterator.nextIndex(); String element = iterator.next(); System.out.println("Index=" + index + ", Element=" + element); } // Reuse the iterator to iterate from the end to the beginning while (iterator.hasPrevious()) { int index = iterator.previousIndex(); String element = iterator.previous(); System.out.println("Index=" + index + ", Element=" + element); } List<String> synchronizedList = Collections.synchronizedList(list); synchronizedList.add("杭州"); synchronizedList.add("苏州"); synchronizedList.forEach(System.out::println); } }
《JAVA面试机经基础篇》 郭屹老师著
百度搜索JAVA面试机经基础篇即可 欢迎搜索关注公众号 爪哇河谷
或添加我的微信 领取更多干货
-
iterator获取当前元素_java集合【5】——— Iterator接口
2020-12-27 00:24:20一、`iterator`接口介绍二、为什么需要iterator接口三、iterator接口相关接口3.1 ListIterator3.2 SpitIterator四、 iterator在集合中的实现例子4.1 iterator在ArrayList的实现4.2 iterator在HashMap的实现五、总结 ... -
Java Iterator迭代器
2020-04-29 16:22:26Collection集合没有索引, 无法通过 for 循环来得到集合中的元素, 要通过 Iterator 迭代器来获取 Iterator 的用法 Iterator接口的常用方法如下: public E next():返回迭代的下一个元素。 public boolean hasN... -
迭代器 Iterator
2018-10-22 19:32:00方法1:通过迭代器Iterator实现遍历, 获取Iterator:Collection接口的iterator()方法 Iterator的方法 boolean hasNext():判断是否存在另一个可访问的元素 Object next():返回要访问的下一个元素 方法2:增强... -
iterator获取当前元素_什么是迭代器(Iterator)?
2020-12-27 00:24:21该对象就叫做迭代器(Iterator).对 Collection 进行迭代的类,称其为迭代器。还是面向对象的思想,专业对象做专业的事情,迭代器就是专门取出集合元素的对象。但是该对象比较特殊,不能直接创建对象(通过new),该... -
iterator获取当前元素_[LevelDB] 存储5:按部就班 —— Iterator
2020-12-27 00:24:30存储5:按部就班 —— IteratorLevel DB中,实现了各种Iterator,Iterator有以下功能:按顺序对所有的元素进行迭代;处理某一范围内的元素,正序或者逆序;定位到某一个特定的元素进行处理。LevelDB在以下部分使用了... -
iterator
2018-11-15 17:17:54每当一个对象需要被迭代时(例如在for…of循环的开头),它的@@iterator方法被调用而没有参数,并且返回的迭代器用于获取要迭代的值。 某些内置类型具有默认的迭代行为,而其他类型(例如Object)则没有。带有@@... -
iterator获取当前元素_Java 数据结构 - Iterator迭代器
2020-12-26 22:54:14Sourced fromData Structures and Algorithms in Java, 6th Editionlearning.oreilly.com迭代器是一种scanning through一系列元素,每次一个的一种软件...Java针对迭代器定义了java.util.iterator接口,定义有如... -
Iterator
2019-10-09 09:18:39Iterator是一个接口,利用迭代器主要是获取元素,很少删除元素。有三个方法: 1)hasNext():判断是否有更多的元素,如果有返回true。 2)next():在hasNest()的判断下,如果有更多的元素,就返回下一个元素。 3)Remove... -
iterator获取当前元素_java集合【9】——— iterator和iterable异同详解
2020-12-27 00:24:18一、iterator介绍二、iterable接口三、为什么有Iterator还需要Iterable 一、iterator介绍 iterator接口,也是集合大家庭中的一员。和其他的Map和Collection接口不同,iterator 主要是为了方便遍历集合中的所有元素,... -
s:iterator 获取长度
2011-11-28 17:48:56s:iterator value="#request.permissionMap" id="permissionList" status="status"> <s:iterator value="#permissionList.value" id="... -
iterator获取当前元素_JAVA后端面试必知——ListIterator和Iterator的异同
2020-12-26 22:41:32在使用Java集合的时候,都需要使用Iterator。但是java集合中还有一个迭代器ListIterator,在使用List、ArrayList、LinkedList和Vector的时候可以使用。这两种迭代器有什么区别呢?下面我们详细分析。这里有一点需要... -
c++ map iterator 获取key_ES6 系列之一文彻底弄懂 Iterator
2020-11-30 03:35:00前言本文主要来深入剖析 ES6 的 Iterator(迭代器/遍历器),在了解它之前,我们首先要知道为什么需要 Iterator? 它出现的原因是什么?从循环说起平时开发中,我们经常会用到循环,拿最基本的来说,比如循环一个数组://... -
Iterator 迭代获取map的数据
2015-12-11 17:06:00//遍历MAP方法,效率较低 Iterator it = map.keySet().iterator(); while(it.hasNext()){ String key = (String) it.next(); String value = map.get(key); System.out.println(key + "→" + value); } ... -
iterator_traits获取迭代器类型
2019-01-07 04:43:56结论: std::iterator_traits 用于Iterator类型 比如有这么一个需求,给随意的一个迭代器移动距离 , 伪代码: template <typename Iter, typename Distance> void move_iter(Iter& iter, Distance d) { if..... -
Iterator----迭代器
2015-05-21 09:24:491、Iterator依托与集合,以HashSet为例 HashSet set = new HashSet(); set.add("a"); set.add("b");...2、获取iterator对象 Iterator iterator = set.iterator(); 3、通过循环取元素 while(iterator.h -
java 数组类型 获取迭代器 array => iterator
2020-08-13 16:07:55但是我是想直接获取数组的iterator。 思路:数组是内存地址连续的内存集合,只要获取数组对象的首地址就能获取到其首个对象,然后通过地址指针的移动就可以实现迭代的功能。因此数组使用迭代器应该是可行的。 ... -
Iterator迭代器,获取集合元素
2019-03-17 10:29:25* boolean hasNext():判断时是否有元素可以获取 public static void main(String[] args) { //ArrayList<String> array = new ArrayList<String>();//创建一个数组 Colle... -
Java中的Iterator迭代器,Collection类获取
2020-04-19 17:33:23Iterator接口 在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator Iterator接口也是Java集合中的一员,但它与Collection、Map接口有所不同 Collection接口与Map... -
java iterator怎样获取元素下标???
2015-11-06 14:13:29Iterator<Info> it = stuList.iterator(); while (it.hasNext()) { Info stu = it.next(); System.out.println("请输入要删除的遍号"); //int rmv = sc.nextInt(); if (stu.toString().indexOf("这里怎么写") !=... -
集合框架——迭代器Iterator
2017-07-27 21:11:05import java.util.*; /* Collection定义了集合框架的共性功能。 1,添加 add(e); addAll(collection); 2,删除 remove(e); removeAll(collection); ...4,获取 iterator(); size(); 5,获 -
【Java笔记(43)】Map接口使用Iterator输出
2020-06-28 17:15:39* 利用set接口中的iterator()方法获取Iterator对象 * 使用Iterator对象迭代输出 二、完整代码 package collectjh.map; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import ...
-
2014年重庆理工大学《数据库原理及应用》两套期末考试试卷.pdf
-
2014年重庆理工大学《高级C#开发技术》两套期末考试试卷.pdf
-
神通科技首次公开发行股票招股说明书.pdf
-
docker菜鸟学习笔记之ubuntu容器中安装python3和卸载python2
-
MHA 高可用 MySQL 架构与 Altas 读写分离
-
MySQL 高可用工具 heartbeat 实战部署详解
-
5.2 收集需求
-
线程状态
-
【论文写作】毕业论文降重技巧
-
Gens2.14cn.rar
-
投标方法论
-
linux系统下文件夹没有权限
-
搭建ES Elasticsearch 集群
-
vscode怎么快速创建生成html模板
-
2021-03-03
-
C/C++反汇编解密
-
积攒了不少学习渠道和方法,分享给大家
-
聊聊storagetapper的pool
-
2014年重庆理工大学《电子商务(双语)》两套期末考试试卷.pdf
-
DT开源博客第一版.mp4