相关疑难解决方法(0)

如何使用java8在字符串中查找第一个重复和不重复的字符

我有一个有效的示例,使用java 7在字符串中查找第一个重复和不重复的字符

以下是工作示例

public class FindFirstRepeatedAndNonRepeatedChar {
    static void firstRepeatedNonRepeatedChar(String inputString) {

        HashMap<Character, Integer> charCountMap = new HashMap<Character, Integer>();

        char[] strArray = inputString.toCharArray();

        for (char c : strArray) {
            if (charCountMap.containsKey(c)) {
                charCountMap.put(c, charCountMap.get(c) + 1);
            } else {
                charCountMap.put(c, 1);
            }
        }

        for (char c : strArray) {
            if (charCountMap.get(c) == 1) {
                System.out.println("First Non-Repeated Character In '" + inputString + "' is '" + c + "'");

                break;
            }
        }

        for (char c : strArray) {
            if (charCountMap.get(c) …
Run Code Online (Sandbox Code Playgroud)

java java-8

2
推荐指数
1
解决办法
1775
查看次数

如何将此代码转换为JAVA 8 Stream API?

我想使用Java 8将此while循环转换为等效代码Stream,但我不知道如何从中流式传输List 删除元素.

private List<String> nameList = new ArrayList<>();

while (nameList.size() > 0) {
    String nameListFirstEntry = nameList.get(0);
    nameList.remove(0);
    setNameCombinations(nameListFirstEntry);
}
Run Code Online (Sandbox Code Playgroud)

java list java-8 java-stream

2
推荐指数
1
解决办法
195
查看次数

在 Java 中将 List&lt;String&gt; 转换为 Map&lt;String, String&gt;

我想将列表转换为地图,其中键只是一个计数器,它需要遵守列表的顺序。我目前有这个代码:

private static Map<String, String> convertListToMap(final List<String> list) {
    AtomicInteger counter = new AtomicInteger(0);
    Map<String, String> map = list.stream().collect(Collectors.toMap((c) -> {
        Integer integer = counter.incrementAndGet();
        return integer.toString();
    }, (c) -> c));

    return map;
}
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

  1. 在我桌面上的一个简单的控制台应用程序测试中,计数器保留了列表的顺序。我们可以确定订单在其他任何地方执行时都会保留吗?
  2. 有没有更好的方法来编码?

java list hashmap java-stream

2
推荐指数
1
解决办法
131
查看次数

如何保持流中元素的顺序

我想使用下面的spliterator()方法保留数组元素的顺序.

但是,当我运行这个程序时,它正在生成4 2 1 3输出.

   public class Test1 {
    public static void main(String[] args) {
        m1().anyMatch(e -> {
            System.out.println(e);
            return false;
        });
    }

    private static LongStream m1() {
    return StreamSupport.longStream(Arrays.spliterator(new long[] { 1, 2, 3, 4 }), true);
    }
}
Run Code Online (Sandbox Code Playgroud)

请检查并告知我这是否可能.

java java-8 java-stream

1
推荐指数
1
解决办法
814
查看次数

以原始顺序在数组列表中使用并行流

我有一个产品,我想用相同的原始顺序在另一个数组中填充产品,我使用了并行流,结果没有按原始顺序排序

    List<Product> products = productList.getProducts();
    
    List<ProductModelDTOV2> productModelDTOV2s = new ArrayList<>();
    
    products.parallelStream().forEach(p -> {
        try {
            ProductModelDTOV2 ProductModelDTOV2 = dtoFactoryV2.populate(p, summary);
            productModelDTOV2s.add(ProductModelDTOV2);
        } catch (GenericException e) {
            log.debug(String.format("Unable to populate Product %s", p));
        }
    });
    return productModelDTOV2s;
Run Code Online (Sandbox Code Playgroud)

java lambda java-8

-3
推荐指数
1
解决办法
68
查看次数

标签 统计

java ×5

java-8 ×4

java-stream ×3

list ×2

hashmap ×1

lambda ×1