You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从存储在ArrayList中的字符串数组集合中获取单个字符串数组?

如何从存储在ArrayList中的字符串数组集合中获取单个字符串数组?

嘿,我懂你现在的处境——把每本书拆成包含标题、作者、ISBN的字符串数组,再把这些数组全塞进ArrayList里,现在想把单个的书数组取出来操作,对吧?这事儿其实没你想的那么绕,我给你掰扯清楚:

首先先明确下前提,假设你是这么声明ArrayList的:
ArrayList<String[]> bookList = new ArrayList<>();
(要是你声明的时候用了泛型List<String[]>也一样,不影响后续操作)

两种常用的获取方式:

  • 按索引直接取单个数组
    Java里集合的索引是从0开始的哦,比如你想拿第一本存进去的书,就这么写:
    String[] firstBook = bookList.get(0);
    拿到这个数组之后,你就可以通过数组的索引对应取出具体字段了——记得你存的时候是[标题, 作者, ISBN],所以:
    String bookTitle = firstBook[0];
    String bookAuthor = firstBook[1];
    String bookIsbn = firstBook[2];
    这样就能单独操作每一个字段啦。

  • 遍历集合批量获取每个数组
    要是你想把所有书都过一遍,用增强for循环最方便,代码写起来清爽:

    for (String[] singleBook : bookList) {
        // 这里的singleBook就是每次循环拿到的单个书数组
        String title = singleBook[0];
        String author = singleBook[1];
        String isbn = singleBook[2];
        // 比如打印出来看看
        System.out.println("书名:" + title + " | 作者:" + author + " | ISBN:" + isbn);
    }
    

    要是你需要用到数组在集合里的位置索引,就用普通for循环:

    for (int i = 0; i < bookList.size(); i++) {
        String[] currentBook = bookList.get(i);
        // 这里currentBook就是第i+1本书对应的数组,按需操作就行
    }
    

最后给你提个小建议哈:现在用数组存每本书的信息完全能跑,但如果之后你要给书加更多属性(比如出版日期、页数),或者要做一些字段校验,不如自定义一个Book类,把标题、作者这些做成成员变量,再写getter和setter方法,这样代码可读性会高很多,也不会因为数组索引搞混字段顺序~不过当下先搞定你的需求为主,这个方案足够用啦!

备注:内容来源于stack exchange,提问作者Bill H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 16:03:04