lambda相关内容
有一个字符串列表,我需要构造一个对象列表,它们实际上是对(字符串,它在列表中的位置).目前我有这样的代码使用谷歌收藏: public Robots(List 名称) {ImmutableList.Builderbuilder = ImmutableList.builder();for (int i = 0; i
..
..
如何从对象列表中获取不同的(基于两个属性的不同)列表.例如,让有属性名称和价格的对象列表.现在我如何才能获得具有不同名称或价格的列表. 假设 列表l1 = getlist();//getlist 将返回列表. 现在让 l1 具有以下属性(名称、价格):- n1, p1 n1, p2 n2, p1 n2, p3 现在过滤后的列表应该是- n1, p1 n2, p3
..
我有一个关于中间阶段顺序状态的问题 - 一个阶段的操作是否应用于所有输入流(项目)或是所有阶段/操作应用于每个流项目? 我知道这个问题可能不容易理解,所以我举个例子.关于以下流处理: 列表strings = Arrays.asList("Java 流中间阶段是连续的吗?".split(" "));字符串.stream().filter(word -> word.length() > 4).
..
我正在尝试为以下 Collectors.toMap() 调用中的“keyMapper"函数参数提出一个更简洁的表达式: 列表名册 = ...;地图地图=名册.溪流().搜集(Collectors.toMap(新函数(){public String apply(Person p) { return p.getLast();}},函数.identity(
..
我刚开始研究 Java 8 并尝试 lambda,我想我会尝试重写我最近写的一个非常简单的东西.我需要将字符串到列的映射转换为另一个字符串到列的映射,其中新映射中的列是第一个映射中列的防御性副本.Column 有一个复制构造函数.到目前为止,我得到的最接近的是: MapnewColumnMap=new HashMap();originalColumnMap.entrySet().strea
..
我正试图将我的想法转变为思考功能性方式,并且最近遇到了一种情况,我需要从列表中挑选元素直到满足条件,而我找不到一种简单自然的方式来实现这一点.显然我还在学习. 假设我有这个清单: 列表tokens = Arrays.asList("选我", "选我", "选我",“PICK ME"、“pick me and STOP"、“pick me"、“pick me and stop"、“pick
..
使用非并发数据结构源的流的无干扰要求是否意味着我们不能在流管道执行期间更改数据结构的元素的状态(除此之外我们不能改变源数据结构本身)?(问题一) 在关于 的部分中不干扰,在流包描述中,它说:“对于大多数数据源而言,防止干扰意味着确保在流管道执行过程中完全不修改数据源." 这段没有提到修改元素的状态? 例如,假设“shapes"是非线程安全的集合(如ArrayList),下面的代码
..
我有一些想要并行处理的元素.当我使用 List 时,并行性有效.但是,当我使用 Set 时,它不会并行运行. 我写了一个代码示例来说明问题: public static void main(String[] args) {ParallelTest 测试 = 新的 ParallelTest();列表list = Arrays.asList(1,2);设置set = new H
..
我正在使用 Java 8 lambda,并希望使用 Collectors toMap 来返回 SortedMap.我能想到的最好的方法是调用以下 Collectors toMap 方法,其中虚拟 mergeFunction 和 mapSupplier 相等到 TreeMap::new. public static >收集器 T, ?, M
..
我正在玩 Java SE 8 中的惰性函数操作,我想 map 一个索引 i 到一对/元组 (i, value[i]),然后根据第二个 value[i] 元素进行 filter,最后只输出索引. 我还必须忍受这个吗:什么相当于 C++ 对 在 Java 中? 在 lambda 和流的大胆新时代? 更新:我提出了一个相当简化的示例,@dkatzel 在以下答案之一中提供了一个简洁
..
我正在尝试列出整数列表中的重复元素,例如, 列表numbers = Arrays.asList(new Integer[]{1,2,1,3,4,4}); 使用 jdk 8 的 Streams.有没有人尝试过.要删除重复项,我们可以使用 distinct() api.但是如何找到重复的元素呢?有人可以帮帮我吗? 解决方案 你可以使用Collections.frequency: numb
..
我正在尝试使用 Java 8 Streams 在 LinkedList 中查找元素.但是,我想保证只有一个匹配过滤条件. 获取此代码: public static void main(String[] args) {链表users = new LinkedList();users.add(new User(1, "User1"));users.add(new User(2, "
..
我正在使用 Java 8 lambda 来轻松过滤集合.但是我没有找到一种简洁的方法来将结果检索为同一语句中的新列表.这是我迄今为止最简洁的方法: ListsourceLongList = Arrays.asList(1L, 10L, 50L, 80L, 100L, 120L, 133L, 333L);列出targetLongList = new ArrayList();sourceL
..
新的 Java 8 流框架和朋友们制作了一些非常简洁的 java 代码,但我遇到了一个看似简单但很难简洁的情况. 考虑一个List事物和方法可选的解决(事物事物).我想将 Thing 映射到 Optional 并获取第一个 Other.显而易见的解决方案是使用 things.stream().flatMap(this::resolve).findFirst(),但
..
我对 Function.identity() 方法的使用有疑问. 想象一下下面的代码: Arrays.asList("a", "b", "c").溪流().map(Function.identity())// str)//
..
如何从 Java 8 流/lambdas 中抛出 CHECKED 异常? 换句话说,我想让这样的代码编译: public ListgetClasses() 抛出 ClassNotFoundException {列出类=Stream.of("java.lang.Object", "java.lang.Integer", "java.lang.String").map(className
..
我有以下示例代码: System.out.println(“结果:" +Stream.of(1, 2, 3).filter(i -> {System.out.println(i);返回真;}).findFirst().得到());System.out.println("------------");System.out.println(“结果:" +Stream.of(1, 2, 3).flat
..
我想使用 Java 8 的流和 lambda 将对象列表转换为 Map. 这就是我在 Java 7 及更低版本中的编写方式. 私有映射nameMap(列出选择){最终地图hashMap = new HashMap();for(最终选择:选择){hashMap.put(choice.getName(), 选择);}返回哈希映射;} 我可以使用 Java 8 和 Guav
..
在 C# 中是否有一种简写方式: public static bool IsAllowed(int userID){return (userID == Personnel.JohnDoe || userID == Personnel.JaneDoe ...);} 喜欢: public static bool IsAllowed(int userID){return (userID in Pe
..