【java – 迭代执行命令列表 – 哪个模式?】教程文章相关的互联网学习教程文章

java – 如何在foreach迭代期间更改Set中的字符串?【代码】

我有一组字符串,我想迭代,并改变所有相等的东西,等于别的东西:// Set<String> strings = new HashSet() for (String str : strings) {if (str.equals("foo")) {// how do I change str to equal "bar"?} }我试过replace()哪个不行.我也尝试删除“str”并添加所需的字符串,这会导致错误.我该怎么做呢?解决方法:两点: >字符串是不可变的;你不能“改变”一个字符串.您可以从Set中删除一个并将其替换为另一个,但这就是所有变化.> A ...

Java从某个索引迭代映射【代码】

我有一个从json字符串创建的映射,按照我需要解析的顺序排序. 如果在索引6(第7个键)处有一个键,我希望能够从该键迭代到地图的末尾,并使用这些键/值对进行我需要的处理. 反正有没有这样做?解决方法:Map通常不会维护键的顺序.你需要使用 > NavigableMap,例如TreeMap.如果您的钥匙有自然顺序,则最好.> LinkedHashMap,它是一个保留插入顺序的地图实现. 示例代码段(LinkedHashMap):Map<Integer, String> map = new LinkedHashMap<Integ...

java – 如何定义自己的迭代器?【代码】

我编写了自己的链表类型数据结构,并希望创建一个Iterator对象,允许我迭代列表中的节点. 是否可以直接定义我自己的迭代器,或者我是否首先需要将其转换为现有的数据结构(如LinkedList)并在其上调用iterator()?解决方法:您可以通过实现Iterator interface的三种方法来定义自己的Iterator类:boolean hasNext(); E next(); void remove();最后一个方法是可选的:你可以实现它只是抛出一个UnsupportedOperationException. 最常见的策略...

java – 可扩展的随机和完整迭代?

假设我有一个列表列表,如下所示: > [[a,b,c,d,e],> [f,g,h],> [i,j,k,l]] 因此外部列表的大小为3,内部列表的大小为5,3和4. 我需要获得任何这些内部列表的随机元素,给出每个元素同样随机的机会.所以我可以编写一个算法: >生成0和totalListsSize(5 3 4)= 12之间的随机数,例如randomIndex 7>遍历所有列表并减去它们的大小,如果它大于它们的大小,例如randomIndex 7 – firstListSize 5 = newRandomIndex 2>返回下一个列表中的元素,...

阶段1 语言基础+高级_1-3-Java语言高级_04-集合_01 Collection集合_5_迭代器的代码实现【图】

迭代器的类型和collection一样。都是String类型的判断集合内是不是有元素取出第一个元素多次next获取所有的值没有元素,再去取就会抛出异常。 适应whilefor循环的格式了解一下就可以。

java – 迭代链表时的无限循环【代码】

我试图计算在我的链接列表中发生特定整数的时间.但是我遇到了无限循环.我尝试打印变量以查看代码到达的位置但没有打印.我想知道是否有人可以为我增加一双眼睛. 我的LinkedListNode类很简单:public class LinkedListNode {int data;public LinkedListNode next;// constructorpublic LinkedListNode(int newData) {this.next = null;this.data = newData;} }我的代码:public static int countInt(LinkedListNode head, int number...

java 迭代器遍历List、Set和Map【代码】

public class test { public static void main(String[]args) {iteratorlist();iteratorset();iteratormap(); } //**遍历List** *Iterator<String> it* 获得String类型的迭代器对象 *list.iterator()* 返回一个list容器的对象 *Iterator<String> it=list.iterator()* 初始化迭代器,相当于int i=0 *it.hasNext()* 判断是否有下一个元素 *it.next()* 返回当前元素,并将游标移至下一个元素...

是否可以在Java中扩展迭代器的功能?【代码】

我想知道是否有一种方法来扩展迭代器接口的功能.假设我们有一个实现Iterable接口的Class(在上面的例子中,我没有添加myFunction的Iterator接口的重写函数).public class MyClass implements Iterable{@Overridepublic Iterator iterator() {return new Iterator() {@Overridepublic boolean hasNext() {throw new UnsupportedOperationException("Not supported yet.");}@Overridepublic Tuple next() {throw new UnsupportedOperat...

递归到迭代(java)【代码】

作为编程的初学者,我试图将以下递归方法转换为迭代方法,但我只是不了解它.方法或函数有一个二进制树,如递归,我想使用一个数组的迭代解决方案..不幸的是,我很困惑如何做到这一点. 我已经检查了将fibonnaci递归方法转换为迭代方法的方法.但我认为这不一样.另外我不确定树搜索方法是否有用?!任何帮助,提示,想法将不胜感激.谢谢.public static int funct(int n) {if (n == 0) return 1;if (n == 1) return 2;if n > 1 return funct(n...

java – 为什么迭代通过LinkedList缓慢?【代码】

Java 8 我有一个很大的集合(大约100M元素),我需要迭代它并做一些动作.有两种选择: >迭代一次并完成整个工作(这会使代码复杂化)>迭代两次,在第一次迭代中完成一半的工作,在第二次迭代中休息(这将显着简化代码) 所以,我认为迭代不是那么昂贵,并写了一个简单的例子来衡量它(我不经常写基准,因此它可能看起来有点傻):Collection<Double> col = new LinkedList<>();for(int i = 0; i < 30000000; i++){col.add(Math.sqrt(i + 1));}lon...

java – 嵌套集合上的迭代器【代码】

我在Java中有两个数据结构:一个叫做DebateAssignment,有5个DebateTeam对象,每个对象都包含一个特定的枚举{JUDGE, PROP1, PROP2, OP1, OP2}在另一个类中,我使用List< DebateAssignment>我想创建一个迭代器,它将指向特定DebateAssignment中的特定DebateTeam,并且我希望它在所有分配上迭代所有团队,从一个赋值到无缝分配. 我该怎么做呢?解决方法:假设DebateAssignment有类似的东西public Collection<DebateTeam> getDebateTeams();你...

如何在java中迭代List>【代码】

我有一个列表,其中包含一个我要迭代的地图List<Map<String, Object>> featureService=featureSubscriptionDao.getUnsubscribedSevice();我的dao方法是@Override public List<Map<String, Object>> getUnsubscribedSevice() {String sql="select * from tblservice where public='false'";return getJdbcTemplate().queryForList(sql); }任何帮助?解决方法: List<Map<String, Object>> featureServices = getUnsubscribedSevice();...

java – 迭代非泛型List的最佳方法是什么?【代码】

我必须使用一段旧代码,我有一个List,我需要迭代它. Foreach循环不起作用.哪种方法最好,最安全? 例private void process(List objects) {someloop {//do something with list item//lets assume objects in the List are instances of Content class} }解决方法:使用迭代器:Iterator iter = objects.iterator(); while (iter.hasNext()) {Object element = iter.next(); }或者更直接地为每个:for (Object obj : objec...

c# – 用于从集合中删除对象的迭代器的Java模拟【代码】

在Java中,我可以使用Iterator.remove()方法http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html#remove()迭代集合并从中删除一些对象 这非常自然而且很自然.就像你正在寻找冰箱里的食物,扔掉过期日期的食物.如何在c#中做同样的事情? 我想在同一个循环中迭代和清理集合. 有几个相关的问题,例如How to iterate and update a list但是我仍然无法在c#中找到此操作的确切副本解决方法:如果您正在使用List< T>,则可以...

给java迭代器加锁的问题

例如:List<Integer> lists = new ArrayList<>(); lists.add(1); lists.add(2); for(Integer i : lists){ ? ? System.out.println(i); }问题:上面这样做在其他线程进行修改时,容易出现ConcurrentModificationException,因此必须要在迭代过程中使用锁。List<Integer> lists = new ArrayList<>(); lists.add(1); lists.add(2); synchronized(lists){ ? ? for(Integer i : lists){ ? ? ? ? System.out.println(i); ? ? } }问题:如...