有用的java代码片段①
chunk
将数组分割成特定大小的小数组。
public static int[][] chunk(int[] numbers, int size) {return IntStream.iterate(0, i -> i + size).limit((long) Math.ceil((double) numbers.length / size)).mapToObj(cur -> Arrays.copyOfRange(numbers, cur, cur + size > numbers.length ? numbers.length : cur + size)).toArray(int[][]::new);
}
countOccurrences
计算数组中某个值出现的次数。
public static long countOccurrences(int[] numbers, int value) {return Arrays.stream(numbers).filter(number -> number == value).count();
}
deepFlatten
数组扁平化。
使用递归实现,Arrays.stream().flatMapToInt()
public static int[] deepFlatten(Object[] input) {return Arrays.stream(input).flatMapToInt(o -> {if (o instanceof Object[]) {return Arrays.stream(deepFlatten((Object[]) o));}return IntStream.of((Integer) o);}).toArray();
}
difference
返回两个数组之间的差异。
从 b 中创建一个集合,然后在 a 上使用 Arrays.stream().filter()
只保留 b 中不包含的值。
public static int[] difference(int[] first, int[] second) {Set<Integer> set = Arrays.stream(second).boxed().collect(Collectors.toSet());return Arrays.stream(first).filter(v -> !set.contains(v)).toArray();
}
differenceWith
从比较器函数不返回true的数组中筛选出所有值。
int的比较器是使用IntbinaryPerator函数来实现的。
使用 Arrays.stream().filter()
和 Arrays.stream().noneMatch()
查找相应的值。
public static int[] differenceWith(int[] first, int[] second, IntBinaryOperator comparator) {return Arrays.stream(first).filter(a ->Arrays.stream(second).noneMatch(b -> comparator.applyAsInt(a, b) == 0)).toArray();
}
有用的java代码片段①相关推荐
- 20个非常有用的Java程序片段
20个非常有用的Java程序片段 来源:码农网 时间:2015-03-17 10:23:28 阅读数:1057 分享到:0 [导读] 下面是20个非常有用的Java程序片段,希望能对你有用.1 ...
- 20个非常有用的Java程序片段--转
原文地址:http://geek.csdn.net/news/detail/236591 下面是20个非常有用的Java程序片段,希望能对你有用. 1. 字符串有整型的相互转换 String a = ...
- python语言代码片段-有用的Python代码片段
我列出的这些有用的Python代码片段,为我节省了大量的时间,并且我希望他们也能为你节省一些时间.大多数的这些片段出自寻找解决方案,查找博客和StackOverflow解决类似问题的答案.下面所有的代 ...
- 分析如下java代码片段,Java内部测试笔试题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 while (pointer <= 10) { switch (pointer % 3) { case 1: pointer += 1; break ...
- 20非常有用的Java程序片段(1)
下面是20个非常有用的Java程序片段,希望能对你有用. 1. 字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric str ...
- java程序实现wifi连接打印_Android下通过wifi调用打印机打印,Java代码片段分享,
Android下通过wifi调用打印机打印 chongq 分享于 2小时前 4972阅 0人收藏此代码, 好图网图标搜索引擎,提供超过60万的免费图标.PNG图标.ICO图标.ICNS图标.网页图标 ...
- java 程序片段_20个非常有用的Java程序片段
1. 字符串有整型的相互转换 Java代码 String a = String.valueOf(2); //integer to numeric string int i = Integer.pa ...
- 20非常有用的Java程序片段(3)
15. 创建ZIP和JAR文件 import java.util.zip.*; import java.io.*; publicclass ZipIt { publicstaticvoid main( ...
- Idea 封装Java代码片段 快速提示
title 一,将代码片段抽取为方法 二,将代码封装成模板 快速提示 一,将代码片段抽取为方法 快速生成方法快捷键 . ctrl + alt + m 二,将代码封装成模板 快速提示 步骤都在下面. 博 ...
最新文章
- springmvc+mybatis+html 下将查询数据以excell形式上传到ftp(下)
- [python] 溜了,溜了,七牛云图片资源批量下载 自建图床服务器
- 免费数学神器有了手机版,再复杂的公式,拍照就能转成LaTeX
- Java医疗管理系统技术描述
- Leetcode: Permutations II
- Linux中最常见命令总结
- c语言中用文件处理数据,C语言文件处理
-C语言从文件中读写格式化数据
- Centos7下Confluence5.6.6安装
- python与java前景-Java和Python现在都很热门,哪个更有前途?
- ConcurrentDictionary 与 Dictionary
- A 1049 Counting Ones (30分)
- 遍历Map集合的四种方式
- springboot房屋租赁管理系统
- 三角函数 弧度角度换算
- OpenStack 快速进阶教程
- DELL G7 重装win10系统
- oracle编程题考试题,oracle考试题
- 计算机组装和拆卸的说法错误的是,《计算机组装与维护》选修试卷2009-2010-1A
- 【论文阅读记录】孪生网络(Siamese network)
- 分形几何算法和实现(C语言)