【浅谈java中for循环与iterator迭代的区别】教程文章相关的互联网学习教程文章

java – 使用循环数组的队列实现:哪种方法可以调整圆形数组的大小?【代码】

我正在使用循环数组实现一个队列,我有点陷入resize()方法实现(当数组已满时). 在enqueue()方法中,我检查数组的大小是否等于它的长度,如果它已满,则检查它.现在,我没有抛出异常,而是试图调整数组的大小. 问题是,我有两个案例需要考虑 >前< =后方>后<面前将旧数组的元素复制到新的较大数组中的最佳方法是什么? 我认为它使用for循环,如:newArray = new Array[oldArray.length*2];if (front <= rear) {for (int i = front; i < rear;...

java – 我应该在for-each循环中初始化数组?【代码】

以下是否会产生不必要的内存使用String[] words = text.split(" ");for (String s : words){...}或者每次循环重复时,以下调用text.split(“”)for (String s : text.split(" ")){...}哪种方式更可取?解决方法:每种方式都可以编写循环: >第一种方法更可调试:您可以在for上设置断点,并检查单词>第二种方法避免在名称空间中引入名称单词,因此您可以在其他位置使用该名称. 就性能和可读性而言,两种方式都同样好:分割将在循环开始之...

可以在for循环之外适当地使用java标签吗?

所以我已经看到很多情况,其中标签被用于for循环,特别是双嵌套循环. 这是唯一可以使用它们的情况吗?还是有其他我不知道的常见用途.我觉得它是一个我从未使用过的java工具!解决方法:可以说,标记循环是唯一可以使用标记语句的有用方法. 您可以在Java中标记任何语句,但使用它们的唯一方法是作为(带标签的)break或continue语句的目标. 通常的建议适用:只是因为你可以做某事并不意味着你应该这样做.不要使用标签作为有趣的“评论”(是...

每个循环工作的Java【代码】

我正在处理某项任务,当我偶然做错了但是代码执行并提供了正确的结果.我有点惊讶,并且记住了每个循环的所有这些是如何工作的.示例(示例程序),public static void main( String[] args ) {String myInput = "hello , hi , how are you ";String[] splitted = myInput.split(",");List<String> mylist = new ArrayList<String>();for (String output : splitted) {mylist.add(output);}for (String output : mylist) {System.out.prin...

java – 循环遍历列表时从索引中删除项目【代码】

public boolean isTwoPair() {boolean isTwoPair = false;Collections.sort(deck);List<Card> cards = new LinkedList<Card>(deck);System.out.println(cards); for (int i = 0; i < cards.size()-1; i++) {for (int j = i + 1; j < cards.size()-1; j++) {if (deck.get(i).equals(deck.get(j))) {cards.remove(i);cards.remove(j);System.out.println(cards);}}}return isTwoPair;}我认为我的问题出在我的cards.remove()上.当我删...

Java Collection用于特殊滚动,循环队列【代码】

我正在寻找类似于ConcurrentLinkedQueue的东西,但有以下行为: >当我查看()/ poll()队列时,它检索HEAD,不删除它,然后将HEAD一个节点推进到TAIL>当HEAD == TAIL时,下次我查看()/ poll()时,HEAD将重置为其原始节点(因此为“循环”行为) 所以,如果我像这样创建队列:MysteryQueue<String> queue = new MysteryQueue<String>(); queue.add("A"); // The "original" HEAD queue.add("B"); queue.add("C"); queue.add("D"); // TAILStrin...

java – 在循环内部和外部定义变量之间的区别【代码】

在样式或性能方面,在循环内或外部定义变量是否更好? 例如:int var; for (...) {var = /*something*/;// Code that uses var }要么for (...) {int var = /*something*/;// Code that uses var }如果您对变量声明如何在内部工作有任何见解,以及其中一个声明如何比另一个更好(即使它只是略微),请分享.而在性能之外,哪种风格更受青睐?解决方法:内for(int i = 0; i < array.length; i++) {final String variable = array[i]; }>保持变...

Java循环 – 休息?继续?【代码】

我已经阅读了一些使用break和continue的线程,我怀疑问题不一定是我使用的那些,而是我的循环的布局.在下面的代码中,我试图迭代字符串中的字符,用户输入该字符串以查找任何符号.如果找到,它将向用户发出错误,发现负数并退出.否则,如果找不到 – 符号,它应该打印出字符串中的所有字符. 我在第一个循环结束时使用break来查找 – 符号,但它不会继续到下一个循环.我试过继续,但是没有用.循环对我来说是新的,所以我可能有完全错误,我所知道...

java – 这个循环代码能以某种方式简化吗?【代码】

我有一个问题……基本上我的代码很丑,我不喜欢它.我想知道是否有办法简化它(我使用java 8) 我有这些“代码块”遵循这种模式,我在一个方法中有大约5或6个,所以这个方法看起来非常重复和丑陋. 循环都是一样的,只是代码在里面变化. 有什么方法可以简化这个吗? 代码块示例String id = null;for (int i=0; i< NUM_CHECKS; i++) {// BEGIN VARIABLE CODEid = getPrice();if (id != null) break;// END VARIABLE CODE // sleep between c...

浅谈java中for循环与iterator迭代的区别

记录的存取方式有两种:一种是顺序存储,另一种是链接存储对于顺序存储的记录可以根据其下标找到对应的记录,而链接存储(拿单链表为例)则必须找到其前一个记录的位置才能够找到本记录。所以for循环便于访问顺序存储的记录,比如数组等而迭代则更适用于链接存储的记录,虽然Java中有些底层通过链接存储原理实现的集合也可以通过下标获取指定的记录,但是其每次都必须从链表头开始查找记录,这样会影响查找的效率以上为本人的理解。。...

java – 为什么嵌套循环与list.add给出O(n ^ 4)时间复杂度?【代码】

我遇到了这个代码片段的Big O时间复杂度的问题:保证以下代码的时间复杂度为O(n ^ 4).ArrayList<Integer> list = new ArrayList<Integer>();for(int i = n; i>=1; i--) //n for(int j = 1; j<=i; j++) //n if(!list.contains(i*j)) //n? list.add(i*j); //1?我的问题:为什么是O(n ^ 4)而不是O(n ^ 3)?解决方法:list有大约n ^ 2/2个条目[*],所以查找list.contains(i * j)是O(n ^ 2)而不是O(n...

Java 创建一个HashMap对象,并在其中添加学生的姓名和成绩,键为学生姓名,值为学生成绩,使用增强for循环遍历该HashMap,并输出学生成绩。【代码】【图】

|--需求说明 |--实现思路 1、使用map.containsKey()判断输入的姓名在不在map里面,如果在就打印 2、遍历全班姓名和成绩,需要创建Map.entry,然后在map.entry里面遍历 |--代码内容1 public class Students {2 public static void main(String[] args) {3 //创建一个HashMap对象4 HashMap<String, Integer> students = new HashMap<>();5 //向这个HashMap里面添加元素6 students.put("张...

循环中的javax.swing.JFrame setText()?故意拖延?【代码】

我是Java的新手(仅使用它大约一周),我正在商店模拟器上工作.基本上我只是希望现在能够完成基本的事情,比如有一段时间直到关闭以及屏幕上显示开启变量的时间. 我在我的Simulation扩展javax.swing.JFrame类中做了以下函数:public void incOpenTime() {timeOpen++;int hours = timeOpen / 3600;int minutes = (timeOpen % 3600) / 60;int seconds = (timeOpen % 3600) % 60;this.openTime.setText((hours < 10 ? "0" : "") + hours+ ...

Java,可见性和无限循环发生【代码】

我正在研究Java Concurrency in Practice,并解释了为什么下面的代码片段很糟糕:public class NoVisibility {private static boolean ready;private static int number;private static class ReaderThread extends Thread {public void run() {while (!ready) {Thread.yield();System.out.println(number);}}public static void main(String[] args) {new ReaderThread().start();number = 42;ready = true;} }此代码可能会打印0或...

java – 通过循环为按钮分配onClickListeners – Android【代码】

我知道如何通过长期非优雅的方式完成这项任务,但我想缩短它并使其更优雅.下面我展示了我可以做的非优雅的方式以及我想如何优雅地做到这一点.优雅的方式不是编译.我评论了错误的位置和错误. 任何代码结构帮助表示赞赏!先感谢您. Results.javapublic class Results extends Activity { int x = -1;Button q1details, q2details, q3details, q4details, q5details, q6details, q7details, q8details, q9details, q10details;final Co...