如何转换List 进入清单 ?

问题描述 投票:-1回答:3
public String largestNumber(final List<Integer> A) {

}

我想继续这个方法,但列表中的数据应该是字符串。我不知道如何转换它。

java
3个回答
0
投票

将整数转换为String的逻辑是什么?解决方案应该是这样的。

ints.stream().map(String::valueOf).collect(Collectors.toList());

0
投票

其他人提供了如何将List<Integer>转换为List<String>的指示。但是,考虑到方法的名称,我认为目标是找到指定的List<Integer>中的最大数字。根据方法名称,我认为它应该作为int而不是String返回。尽管如此,实际找到最大值并将其作为String返回的一种可能方法是:

public String largestNumber(final List<Integer> myNumbers)
  throws NoSuchElementException
{
    if (myNumbers == null || myNumbers.isEmpty()) {
        // could return an empty String instead, but then the
        // calling method might need to check for an empty String
        throw new IllegalArgumentException("No numbers provided");
    }

    // use the stream to find the largest (max) value
    OptionalInt possMax = myNumbers.stream().mapToInt(Integer::intValue).max();

    return String.valueOf(possMax.getAsInt());
}

另请注意,如果没有最大数字要传播,我允许使用NoSuchElementException。检查存在然后返回一个空的String可以提供,但返回一个空的String似乎调用代码然后可能需要检查这样的条件。

List<Integer> vals = List.of(1, 2, 3, 4, 5, 3, 2, 1);
String l = largestNumber(vals);
System.out.println(l);

输出:

5


-1
投票
  • 转换List<Integer>中的Stream
  • 将每个值从Integer映射到String
  • 收集流为List<String>
list.stream().map(Object::toString).collect(Collectors.toList())
© www.soinside.com 2019 - 2024. All rights reserved.