我有一个有效的示例,使用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 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) 我想将列表转换为地图,其中键只是一个计数器,它需要遵守列表的顺序。我目前有这个代码:
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)
我有两个问题:
我想使用下面的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)
请检查并告知我这是否可能.
我有一个产品,我想用相同的原始顺序在另一个数组中填充产品,我使用了并行流,结果没有按原始顺序排序
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)