在ArrayList中查找所有值的长度

时间:2018-10-24 03:14:29

标签: java arraylist variable-length

对于一个程序,我试图按照以下步骤进行嵌套的for循环重复:

for(int i = 0;i < ArrayList.size();i++){
    for(int x = 0;x <ArrayList.get(i).length();x++){
        //stuff
    }
}

本质上,我想为ArrayList的每个索引中的每个字符重复一个for循环,但是此解决方案似乎不起作用。任何帮助表示赞赏!

编辑:在我的情况下,arraylist仅包含字符串

4 个答案:

答案 0 :(得分:2)

尝试使用For Each循环,例如:

@Override
    public void addViewControllers(ViewControllerRegistry registry) {
        log.info("registry add properly");
        registry.addViewController("/").setViewName(ViewNames.HOME);
        registry.addViewController("/TrainingRequest").setViewName("TrainingRequest");
    }

这将为您提供ArrayList中所有长度的总和

答案 1 :(得分:0)

更新的代码:

您可以使用java8流来解决此问题,更不用说它是null安全的。这是一个例子。

import java.util.ArrayList;
import java.util.List;

public class NestedList {

    public static void main(String[] args) {

        List<String> list1 = new ArrayList<>();
        list1.add("JOHN");
        list1.add("JACK");
        list1.add("CYTHIA");
        list1.add("DANNY");

        list1.stream().forEach( str -> {
            char x;
            for (int i = 0; i < str.toCharArray().length; i++) {
                x = str.charAt(i);
                //do your struff
                System.out.println(x);
            }
        });

    }
}

Java8的stream方法将处理列表,您可以在其中使用toCharArray,该函数将字符串转换为字符数组以处理每个字符。

答案 2 :(得分:0)

您可以通过这种方式尝试

import React, { Component } from 'react';
import Player from './Player';

export const TRACKS = [
{
id: '1',
url: 'http://tegos.kz/new/mp3_full/Post_Malone_-_Better_Now.mp3',
title: 'Better Now',
artist: 'Post Malone',
artwork: 'https://upload.wikimedia.org/wikipedia/en/thumb/c/c1/Beerbongs_%26_Bentleys_by_Post_Malone.png/220px-Beerbongs_%26_Bentleys_by_Post_Malone.png'
    },
{
id: '2',
url: 'http://tegos.kz/new/mp3_full/Luis_Fonsi_feat._Daddy_Yankee_-_Despacito.mp3',
title: 'Despacito',
artist: 'Luis Fonsi',
artwork:'https://upload.wikimedia.org/wikipedia/en/c/c8/Luis_Fonsi_Feat._Daddy_Yankee_-_Despacito_%28Official_Single_Cover%29.png'
},
{
id: '3',
url: 'http://tegos.kz/new/mp3_full/Clean_Bandit_-_Solo_(feat._Demi_Lovato)_(Latin_Remix).mp3',
title: 'Solo (Latin Remix)',
artist: 'Clean Bandit feat. Demi Lovato',
},
{
id: '4',
url: 'http://tegos.kz/new/mp3_full/Greyson_Chance_-_Waiting_Outside_The_Lines.mp3',
title: 'Waiting Outside The Lines',
artist: 'Greyson Chance',
artwork: ''
},
];

export default class App extends Component {
  render() {
  return <Player tracks={TRACKS} />
  }
}

答案 3 :(得分:0)

您所有的逻辑都是正确的,但是语法有误, 您使用类名而不是对象引用, 即,在代码中将ArrayList更改为ArrayList参考变量。

(ArrayList.size()到list.size())

更改

for(int i = 0;i < ArrayList.size();i++){
    for(int x = 0;x <ArrayList.get(i).length();x++){
        //stuff
    }
}

ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("mango");
list.add("orange");
for(int i = 0;i < list.size();i++){
        for(int x = 0;x <list.get(i).length();x++){
            //stuff
        }
}