主要是 php 的 array_column 太爽了,哈哈 http://php.net/manual/zh/function.array-column.php
主要是 php 的 array_column 太爽了,哈哈 http://php.net/manual/zh/function.array-column.php
|
binbinyouliiiiApr 30, 2018
1
手动实现不就好了。
这个功能需求应该也很小,又简单,估计第三方库不会有这种方法 |
|
2
@binbinyouliiii Lambda 实现 easy 但是还是觉得不够优雅。。。
|
|
ghosApr 30, 2018
3
港道理 好像没有这种操作的吧。。。lambda 已经相当便捷了
|
|
binbinyouliiiiApr 30, 2018
4
@whatisnew #2 换 kotlin,使用 kotlin 扩展函数
|
|
CbdyApr 30, 2018
5
```java
List<List<Integer>> a2 = new ArrayList<>(); a2.add(List.of(1, 2, 3, 4, 5, 6)); a2.add(List.of(2, 3, 4, 5, 6, 7)); a2.add(List.of(3, 4, 5, 6, 7, 8)); var result = a2.stream().map(l -> l.get(3)).collect(Collectors.toList()); assert Objects.deepEquals(result, List.of(4, 5, 6)); ``` |
|
SeanfuckApr 30, 2018
6
作为 php 老司机居然不知道还有这么个好用的函数,一直是 foreach 构造。。。法克!
|
|
aristotllApr 30, 2018
9
由于 php 关联数组的灵活性(可以当 list 用也可以当 map 用)
所以 Java 应该是没有这个的 (list 和 map 本身接口都不一样 当然要实现一个应该也不太难吧 |
|
shijiApr 30, 2018 via Android
10
@Seanfuck 我以前测过,for 循环是最快的。php 里 array 开头的函数性能都一般。如果数据量大小不可预见,最好还是 for 循环
|
|
sagaxuApr 30, 2018 via Android
11
list.map { it.column }
|
|
12
Guava 的 Table ? getColumn ?
|
|
lihongjie0209Apr 30, 2018
13
对象了解一下?
|
|
msg7086May 1, 2018
14
就是 stream().map().collect()。
其实你要是觉得半函数式编程爽,不如来玩 Ruby,各种 MapReduce 飞起。 names = users.map(&:first_name) |
|
UnluckyNinjaMay 1, 2018
16
如果目的单纯就是集合内元素属性提取
java 用一个集合函数方法加 lambda 应该就行 groovy 有语法糖可以用,call with spread operator "*." php 文档第一个例子翻译成 groovy 差不多应该是 ```groovy def records = [ [ id: 2135, first_name: 'John', last_name: 'Doe' ], ... ] def first_names = records*.first_name println first_names ``` |
|
HangoXMay 1, 2018 via Android
17
请使用 groovy 实现
|
|
wingyiuMay 2, 2018
19
论内置数据结构的丰富性,我只服 PHP
|
|
picasso2501May 2, 2018
20
@lol173 恰恰因为他是老司机,这是 5.4 的 **新功能** 哈哈
如果是 php4 的语法,他应该是很熟的。。。。 其实我不是在讽刺他,这很正常,php7.1 和 7.2 的 new feature 我到现在都没看。。。。 |
|
NaveeMay 2, 2018
21
guava 的 Table 就可以实现一样的功能
https://github.com/google/guava/wiki/NewCollectionTypesExplained#table |