首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否仅打印ArrayList中元素的设置值?

是否仅打印ArrayList中元素的设置值?
EN

Stack Overflow用户
提问于 2012-03-13 23:21:54
回答 2查看 2.8K关注 0票数 0

我只想知道如何在ArrayList中打印出具有给定特定值的字符串作为输出。例如:我输入“热”、“冷”、“压”、“痛”。我应该使用什么方法/控制语句来使输出只有四个字母的单词?

输出:“冷”“痛”

它只打印“冷”和“痛”,因为它们是唯一包含四个元素的。.set的使用会有用吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-13 23:33:13

正如注释中所解释的,您可以遍历列表。如果这是一个重复的操作,您可以使用map按长度对字符串进行排序。下面是两种解决方案的示例:

代码语言:javascript
复制
public static void main(String[] args) {
    List<String> list = Arrays.asList("Hot", "Cold", "Pressure", "Pain");

    //Solution 1
    for (String s : list) {
        if (s.length() == 4) {
            System.out.println(s); //prints Cold and Pain
        }
    }

    //Solution 2
    Map<Integer, List<String>> map = new HashMap<Integer, List<String>> ();
    for (String s : list) {
        int length = s.length();
        if (map.containsKey(length)) {
            map.get(length).add(s);
        } else {
            map.put(length, new ArrayList<String>(Arrays.asList(s)));
        }
    }

    System.out.println(map.get(4)); //prints [Cold, Pain]
    System.out.println(map.get(3)); //prints [Hot]
}
票数 0
EN

Stack Overflow用户

发布于 2012-03-14 00:24:10

我还会检查空值(不知道它们在您的情况下是否会出现),以避免可能的java.lang.NullPointerException:

代码语言:javascript
复制
    List<String> list = Arrays.asList("Hot", "Cold", "Pressure", null, "Pain");

    for (String s : list) {
        if (s != null && s.length() == 4) {
            System.out.println(s); // prints "Cold" and "Pain"
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9686921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档