相关疑难解决方法(0)

Java中的新for循环可以与两个变量一起使用吗?

我们可以使用for(i = 0, j = 0; i<30; i++,j++)带有两个变量的旧for循环()我们可以在java中使用for-each循环(或增强的for循环)for(Item item : items)吗?有两个变量?它的语法是什么?

java

8
推荐指数
2
解决办法
2万
查看次数

lambda表现的差异?

不是我的问题的重复.我检查了它,它更多的是关于内部匿名类.

我对Lambda表达式很好奇并测试了以下内容:

  • 给定一万个条目的数组,删除某些索引的速度会更快:Lamba表达式或带有if测试的For-Loop内部?

第一个结果并不令人惊讶,因为我不知道我会想出什么:

final int NUMBER_OF_LIST_INDEXES = 10_000;
List<String> myList = new ArrayList<>();
String[] myWords = "Testing Lamba expressions with this String array".split(" ");

for (int i = 0 ; i < NUMBER_OF_LIST_INDEXES ; i++){
    myList.add(myWords[i%6]);
}

long time = System.currentTimeMillis();

// BOTH TESTS WERE RUN SEPARATELY OF COURSE
// PUT THE UNUSED ONE IN COMMENTS WHEN THE OTHER WAS WORKING

// 250 milliseconds for the Lambda Expression
myList.removeIf(x -> x.contains("s"));

// 16 milliseconds for the traditional Loop …
Run Code Online (Sandbox Code Playgroud)

java performance lambda for-loop java-8

6
推荐指数
2
解决办法
1168
查看次数

列表与列表迭代器

我有一个清单:

List<Object> myList = new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)

要从此列表中获取,有两种方法:

1.

for(Object obj : myList )
{
    // some code
}
Run Code Online (Sandbox Code Playgroud)

2.

Iterator<Object> objIt = myList.iterator();
while(obj.hasNext()) {
    Object obj = (Object)objIt.next();
    // some code
}
Run Code Online (Sandbox Code Playgroud)

我的问题是哪一个是内存效率和快速迭代?

java iterator list arraylist

5
推荐指数
2
解决办法
5696
查看次数

PHP SPL ArrayIterator v简单的foreach

好吧,正如标题所说:使用ArrayIterator而不是简单的foreach循环有什么主要好处.

我有一个被用作容器的对象,它的主要职责是存储一个对象数组.

有人建议我让我的类实现IteratorAggregate并返回一个带有我的对象数组的ArrayIterator:像这样:

  public function getIterator()
  {  
    return new ArrayIterator($this->_objs);  
  }
Run Code Online (Sandbox Code Playgroud)

我不能看到任何好处,而不是简单地返回数组,然后使用标准的foreach循环它们.

请有人解释为什么这是个好主意?

php spl

5
推荐指数
2
解决办法
2664
查看次数

Iterator.hasNext和for-each循环之间是否存在任何关系

JProfiler用于分析我的应用程序,因为它是一个巨大的应用程序,所以我非常了解它的性能和效率.
这花了太长时间,所以我更换所有Iterator.hasNext,for-each但当我在JProfilers CPU视图中看到它显示我Iterator.hasNext调用的方法我正在使用for-each.
为什么这样?这两者之间有什么关系吗?这是示例代码:

    List<Map<String, Object>> mapList = jdbcTemplate
                        .queryForList(MAP.SELECT_ALL);
                for (Map<String, Object> map : mapList) {
            list.add(fillPreferenceMaster(preferenceMasterMap));
}
Run Code Online (Sandbox Code Playgroud)

java foreach iterator list jprofiler

3
推荐指数
1
解决办法
584
查看次数

为什么PHP有迭代器对象?

我偶然发现了这个PHP:Iterators页面,我想知道为什么甚至需要这些类.我想假设它们有用,否则它们不会用PHP.当我们已经采用非常简单的方法时,我很难看到这些物品的好处.

PHP是一个错误,是一个更可敬的/面向对象的编程语言?或者这样做真的有好处吗?

在ArrayIteratorPHP注释中找到了一个很好的例子:有两种方法可以做到这一点:

<?php
$fruits = array(
    "apple" => "yummy",
    "orange" => "ah ya, nice",
    "grape" => "wow, I love it!",
    "plum" => "nah, not me"
);
$obj = new ArrayObject( $fruits );
$it = $obj->getIterator();

// How many items are we iterating over?
echo "Iterating over: " . $obj->count() . " values\n";

// Iterate over the values in the ArrayObject:
while( $it->valid() ) {
    echo $it->key() . "=" . $it->current() . "\n"; …
Run Code Online (Sandbox Code Playgroud)

php iterator

1
推荐指数
1
解决办法
163
查看次数

Java中有两种类型的for循环

两者之间的效率是否存在差异

int[] numbers = {1,2,3,4,5,6,7,8,9,10};
for (int item : numbers) {
   System.out.println("Count is: " + item);
}
Run Code Online (Sandbox Code Playgroud)

int[] numbers = {1,2,3,4,5,6,7,8,9,10};
for (int i = 0; i < 10; i++) {
   System.out.println("Count is: " + numbers[i]);
}
Run Code Online (Sandbox Code Playgroud)

java for-loop

1
推荐指数
1
解决办法
2446
查看次数

我应该使用Iterator还是forloop进行迭代?

我不喜欢打电话的想法hasNext()next(),看到我是多么需要一个循环,反正调用这些,我真的不觉得用在列表和地图给我们的迭代多点.

是否只需要从列表中提取一个?或者,如果您从列表中选择一个项目,并且必须在不可测量的时间内执行此操作?我在Google或Stack上找不到这个,请帮帮我.

我不是专门讨论增强的for循环(for-each循环).

我也理解foreach循环在性能方面表现优异,但这更像是"为什么存在"的问题

编辑:已实现我只谈论集合而不是数组aswel.Foreach循环在这种情况下没有限制.

java iterator loops list map

1
推荐指数
1
解决办法
981
查看次数

NetBeans`转换为for(Iterator ...){}'建议

我有以下Java代码

ImmutableList<Element> elements = ...;

for (Element e : elements) {
    e.doSomething();
}
Run Code Online (Sandbox Code Playgroud)

哪里ImmutableList番石榴图书馆的一部分.NetBeans建议我使用`Convert to for(Iterator ...){}'建议来转换代码,这会导致以下转换

ImmutableList<Element> elements = ...;

for (Iterator<Element> it = elements.iterator(); it.hasNext();) {
    Element e = it.next();
    e.doSomething;
}
Run Code Online (Sandbox Code Playgroud)

我没有看到这种转变的原因.我正在使用Java 1.7和NetBeans 7.4.有人可以开导我吗?

java netbeans guava

0
推荐指数
1
解决办法
502
查看次数

标签 统计

java ×7

iterator ×4

list ×3

for-loop ×2

php ×2

arraylist ×1

foreach ×1

guava ×1

java-8 ×1

jprofiler ×1

lambda ×1

loops ×1

map ×1

netbeans ×1

performance ×1

spl ×1