使用流将String转换为用定界符分隔的int序列 - java

因此,我有一个包含自动生成的符号的单词列表。例如:hqst。我将此单词的每个符号转换为unicode并将其连接起来,除以点.,如下所示:104.113.115.116

我写下一个lambda:

.map(word -> {
    char[] symbols = word.toCharArray();
    StringBuilder newWord = new StringBuilder();

    for (int i = 0; i < symbols.length; i++) {
        newWord.append((int) symbols[i]).append(".");
        if (i == symbols.length - 1) {
            newWord = new StringBuilder(newWord.substring(0, i));
        }
    }
    return newWord.toString();
})

是否可以使用流API重写此匿名方法?

参考方案

是的您可以使用 String::chars 从单词中获取 IntStream ,然后将每个int映射到String并使用joining collector进行收集:

.map(word -> word.chars()
                 .mapToObj(Integer::toString)
                 .collect(Collectors.joining("."))
)

Java 8`Stream`可以并行运行,甚至不需要您吗? - java

如我所见,在使用Java 8 Stream时,显而易见的代码无论是“对象”流还是原始流(即IntStream和朋友)都将仅使用:someStreamableResource.stream().whatever() 但是,然后,相当多的“流媒体资源”也有了.parallelStream()。读取javadoc时不清楚的是.stream()流是否始终是顺序的,以…

JAVA 8具有任何匹配属性的对象的过滤器列表 - java

我的要求是通过匹配任何属性的字符串来过滤对象列表。例如,假设Contact类具有三个属性:街道,城市,电话。我知道java流过滤器是如何工作的,在这里我必须将输入字符串与每个属性进行比较,如下所示:contactList.stream().filter(contact -> contact.getStreet().equals("dubai&…

Java:正则表达式模式匹配器是否有大小限制? - java

我的模式类似于OR:“word1 | word2 | word3”我大约有800个字。可能有问题吗? 参考方案 您仅受记忆和理智的限制。 :)

Java:线程池如何将线程映射到可运行对象 - java

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …

JAVA:字节码和二进制有什么区别? - java

java字节代码(已编译的语言,也称为目标代码)与机器代码(当前计算机的本机代码)之间有什么区别?我读过一些书,他们将字节码称为二进制指令,但我不知道为什么。 参考方案 字节码是独立于平台的,在Windows中运行的编译器编译的字节码仍将在linux / unix / mac中运行。机器代码是特定于平台的,如果在Windows x86中编译,则它将仅在Win…