【java-如何在一次迭代中按两个属性对对象列表进行分组?】教程文章相关的互联网学习教程文章

如何在Java中制作迭代器的副本?【代码】

我们有一个元素列表,并且碰撞检测非常简单,可以将每个对象与其他每个对象进行检查. 该检查是可交换的,因此为了避免重复两次,我们将在C中执行此操作:for (list<Object>::iterator it0 = list.begin(); it0 != list.end(); ++it0) {for (list<Object>::iterator it1 = it0; it1 != list.end(); ++it1){Test(*it0, *it1);} }这里的关键是副本it1 = it0您将如何用Java编写此代码?解决方法:您不能复制Java迭代器,因此必须在没有它们的...

java-使用for语句和while语句向前移动迭代器之间的区别【代码】

当我使用对象的迭代器时,我会使用while循环(如学习Java的每本书中所写,如Bruce Eckel的《 Thinking in Java》中所述):Iterator it=...while(it.hasNext()){//... }但是有时候我看到有人代替使用for循环:Iterator it=... for (Iterator it=...; it.hasNext();){//... }我不明白这个选择: >当我有一个有序序列(作为数组)或该步骤的特殊规则(通常声明为简单的增量计数器)时,可以使用for循环.>当循环结束时,我使用while循环,但我没有...

如何在java中迭代json对象【代码】

我试图遍历我的json文件并获取所需的详细信息这是我的json{ "000": {"component": "c","determinantType": "dt","determinant": "d","header": "h","determinantvalue": "null" }, "001": {"component": "t","determinantType": "i","determinant":"ld","header": "D","determinantvalue": "null" }, "002": {"component": "x","determinantType": "id","determinant": "pld","header": "P","determinantValue": "null" }}我的java...

我如何迭代列表,每次在java中获取10个元素【代码】

我有一个包含70个元素的列表. 例如: 列表与LT;长&GT dbList = new ArrayList< Long>(); dbList有70条记录.如果我将所有记录发送到MySql中的查询,则需要很长时间.所以现在我想每次向数据库查询发送10个元素.所以我需要以10为间隔迭代列表.我该怎么做?这是避免长时间使用IN的好方法. SQL查询select model.boothId, model.panchayat.panchayatId from Table1 model where model.panchayat.panchayatId in(:locationValues)and model...

java – 通过容器和组件迭代/递归以查找给定类的对象?【代码】

我为JLabels和AbstractButtons编写了一个MnemonicsBuilder类.我想编写一个方便的方法setMnemonics(JFrame f),它将遍历JFrame的每个子节点并选择JLabel和AbstractButtons.如何获取对JFrame中包含的所有内容的访问权限?我试过了:LinkedList<JLabel> harvestJLabels( Container c, LinkedList<JLabel> l ) {Component[] components = c.getComponents();for( Component com : components ){if( com instanceof JLabel ){l.add( (JLa...

如何在Android中使用Java和org.json迭代这个JSON数组?【代码】

我的JSON字符串看起来像这样(包含在一个名为sJSON的字符串变量中):[{"id":284} ], [{"name":John,"surname":Doe},{"name":Jane,"surname":Doe} ]我能够像这样解析第一个数组(使用Java并导入org.json):JSONArray arrJSON = new JSONArray(sJSON); JSONObject jsonGeneralData = new JSONObject(arrJSON.get(0).toString());String sResult = jsonGeneralData.get("id").toString();返回预期的结果,即284.我正在努力获得第二个项目...

java – 迭代地反转单链表【代码】

必须是O(n)和就地(空间复杂度为1).下面的代码确实有效,但有更简单或更好的方法吗?public void invert() {if (this.getHead() == null)return;if (this.getHead().getNext() == null)return;//this method should reverse the order of this linked list in O(n) timeNode<E> prevNode = this.getHead().getNext();Node<E> nextNode = this.getHead().getNext().getNext();prevNode.setNext(this.getHead());this.getHead().setNex...

java – 失败的安全迭代器和弱一致的迭代器【代码】

失败安全迭代器是那些不抛出ConcurrentModificationException的迭代器. 但是,故障安全迭代器和弱一致迭代器之间有什么区别? 两者都一样吗?解决方法:故障安全和弱一致的迭代器都不会抛出ConcurrentModificationException. 弱一致的迭代器:依赖于CAS(比较和交换)的集合具有弱一致的迭代器,它反映了自创建以来对其后备集合所做的一些但不一定的所有更改.例如,如果在迭代器到达之前修改或删除了集合中的元素,它肯定会反映这些更改,但...

递归方法总是比Java中的迭代方法更好吗?【代码】

递归方法总是比Java中的迭代方法更好吗? 它们也可以用来代替迭代,反之亦然吗?解决方法:Are recursive methods always better than iterative methods in java?没有Also can they always be used in place of iteration and vice-versa?您总是可以将递归函数作为迭代函数. (如果内存可以处理它,请参阅有趣的链接here) 在某些情况下,最好使用递归(比如在处理树时……在二叉树上旅行……等等).对我来说,如果使用循环并不比递归更复杂...

Java删除arraylist迭代器【代码】

我在我的班级’Bomb’的Java中有一个ArrayList. 这个类有一个方法’isExploded’,如果炸弹爆炸,这个方法将返回true,否则返回false. 现在我试图遍历这个arraylist,调用此方法isExploded并从列表中删除该元素,如果它返回true. 我知道如何迭代:for (Iterator i = bombGrid.listIterator(); i.hasNext();) {if () { i.remove(); }但我不知道如何通过迭代器访问Bomb类本身的方法isExploded.有谁知道答案吗? 此致 卢克索解决方...

如何在java中的结果集中迭代行的值?【代码】

结果集我说的是:http://docs.oracle.com/javase/1.4.2/docs/api/java/sql/ResultSet.html 我想做的是……for row in rowsfor col in row//col is the name of the column, row[col] is the value.我在PHP中比JSP,fyi更有资格.这将在PHP中完成,如下所示:foreach($rs as $row)foreach($row as $col => $val)//val is the cell value, and column is the column name编辑:我正在寻找一个通用的解决方案.注意col是一个变量,而不是一...

使用foreach在Java中迭代并行数组的漂亮方法【代码】

我继承了一大堆代码,它们广泛使用并行数组来存储键/值对.实际上这样做是有意义的,但是编写循环遍历这些值有点尴尬.我真的很喜欢新的Java foreach构造,但似乎没有办法使用它来迭代并行列表. 使用正常的for循环,我可以轻松地做到这一点:for (int i = 0; i < list1.length; ++i) {doStuff(list1[i]);doStuff(list2[i]); }但在我看来,这不是语义上的纯粹,因为我们在迭代期间没有检查list2的边界.是否有一些类似于for-each的聪明语法可...

java – 是一个“无限”迭代器糟糕的设计?【代码】

通常认为提供“无限”的Iterator实现是不好的做法;即,对hasNext()的调用总是(*)返回true? 通常我会说“是”,因为调用代码可能表现不正常,但在下面的实现中,hasNext()将返回true,除非调用者从List中删除迭代器初始化的所有元素;即终止条件.你认为这是Iterator的合法使用吗?它似乎没有违反合同,虽然我认为有人可能认为这是不直观的.public class CyclicIterator<T> implements Iterator<T> {private final List<T> l;private Itera...

java – 递归与迭代(Fibonacci序列)【代码】

我有两种不同的方法,一种是使用迭代计算Fibonacci序列到第n个元素,另一种是使用递归方法做同样的事情. 程序示例如下所示:import java.util.Scanner;public class recursionVsIteration {public static void main(String[] args) {Scanner sc = new Scanner(System.in);//nth element inputSystem.out.print("Enter the last element of Fibonacci sequence: ");int n = sc.nextInt();//Print out iteration methodSystem.out.prin...

迭代数组 – java【代码】

我想知道是否有更好的方法,并将Array传递给该方法,或者每当我想检查数字是否在数组中时将其写出来. 例如:public static boolean inArray(int[] array, int check) {for (int i = 0; i < array.length; i++) {if (array[i] == check) return true;}return false; }我在这里先向您的帮助表示感谢!解决方法:您绝对应该将此逻辑封装到方法中. 多次重复相同的代码没有任何好处. 此外,如果将逻辑放在方法中并且更改,则只需在一个位置修...

分组 - 相关标签