Java—在没有for循环的情况下对数组的所有值调用方法

Java—在没有for循环的情况下对数组的所有值调用方法,java,arrays,Java,Arrays,有没有一种全面的方法可以在不必创建for循环的情况下对数组中的每个值调用方法?这看起来很琐碎,但我什么也找不到 例如: class Foo{ public static void main(String[] args){ String[] arr = {"1","2","3"}; int[] intarr = new int[arr.length]; for(int i = 0; i < arr.length; i++){

有没有一种全面的方法可以在不必创建for循环的情况下对数组中的每个值调用方法?这看起来很琐碎,但我什么也找不到

例如:

class Foo{
    public static void main(String[] args){

        String[] arr = {"1","2","3"};
        int[] intarr = new int[arr.length];

        for(int i = 0; i < arr.length; i++){
            intarr[i] = Integer.parseInt(arr[i]);
        }
    }
}
class-Foo{
公共静态void main(字符串[]args){
字符串[]arr={“1”、“2”、“3”};
int[]intarr=新int[arr.length];
对于(int i=0;i

在没有for循环的情况下有什么方法可以做到这一点吗?

取决于您的Java版本:

前Java 8:

List<String> lis = new ArrayList<>(Arrays.asList(arr));
Iterator<String> itr = lis.iterator();
while(itr.hasNext()) {
    String next = itr.next();
    //work with next
}
List lis=newarraylist(Arrays.asList(arr));
迭代器itr=lis.Iterator();
while(itr.hasNext()){
字符串next=itr.next();
//与next合作
}
对于Java 8:

List<String> lis = new ArrayList<>(Arrays.asList(arr));
lis.stream().forEach((s) -> {
    //work with s
});
List lis=newarraylist(Arrays.asList(arr));
lis.stream().forEach((s)->{
//与s合作
});

考虑到你可以很容易地按照OP中所描述的去做,这两种方法都是愚蠢和毫无意义的。
因为循环是编程概念的一个组成部分,你不能真正避免它们。

取决于你的Java版本:

前Java 8:

List<String> lis = new ArrayList<>(Arrays.asList(arr));
Iterator<String> itr = lis.iterator();
while(itr.hasNext()) {
    String next = itr.next();
    //work with next
}
List lis=newarraylist(Arrays.asList(arr));
迭代器itr=lis.Iterator();
while(itr.hasNext()){
字符串next=itr.next();
//与next合作
}
对于Java 8:

List<String> lis = new ArrayList<>(Arrays.asList(arr));
lis.stream().forEach((s) -> {
    //work with s
});
List lis=newarraylist(Arrays.asList(arr));
lis.stream().forEach((s)->{
//与s合作
});

考虑到你可以很容易地按照OP中所描述的去做,这两种方法都是愚蠢和毫无意义的。
for
循环是编程概念的一个组成部分,你不能真正避免它们。

为什么你不需要使用for循环?否。“没有for循环有没有办法做到这一点?”那么
while
循环如何?假设你要寻找的答案不是@ImmerAllein的“while循环”建议……否。你为什么不需要使用for循环呢?否。“没有for循环有没有办法做到这一点?”那么
while
loop呢?假设你要寻找的答案不是@ImmerAllein的“while loop”建议……没有。如果您以编程的方式考虑它,无论结构或库如何,软件都必须迭代元素。For循环和其他方法一样有效。注意,这两种方法实际上都在数组中迭代,但可读性和效率要低得多。使用for循环。好的,这很有意义,谢谢你们!创建一个占用几行代码的for循环,只向变量列表中添加一行代码,以及其他类似的事情似乎有点微不足道。@Anubian Noob:这两种方法都比通过循环进行迭代要好。同时使用多个核还可以使第二个更快。因此,就性能而言,虽然它现在看起来不太快,但它适合于将来的性能优化。@TanmayPatil这是很少值得的优化之一。。。特别是对于asker提供的三元素阵列。不过,这确实很好地回答了这个问题。如果您以编程的方式考虑它,无论结构或库如何,软件都必须迭代元素。For循环和其他方法一样有效。注意,这两种方法实际上都在数组中迭代,但可读性和效率要低得多。使用for循环。好的,这很有意义,谢谢你们!创建一个占用几行代码的for循环,只向变量列表中添加一行代码,以及其他类似的事情似乎有点微不足道。@Anubian Noob:这两种方法都比通过循环进行迭代要好。同时使用多个核还可以使第二个更快。因此,就性能而言,虽然它现在看起来不太快,但它适合于将来的性能优化。@TanmayPatil这是很少值得的优化之一。。。特别是对于asker提供的三元素阵列。不过,这确实很好地回答了这个问题。