Array (数组相关)

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代码片段①相关推荐

  1. 20个非常有用的Java程序片段

    20个非常有用的Java程序片段 来源:码农网   时间:2015-03-17 10:23:28   阅读数:1057 分享到:0 [导读] 下面是20个非常有用的Java程序片段,希望能对你有用.1 ...

  2. 20个非常有用的Java程序片段--转

    原文地址:http://geek.csdn.net/news/detail/236591 下面是20个非常有用的Java程序片段,希望能对你有用. 1. 字符串有整型的相互转换 String a = ...

  3. python语言代码片段-有用的Python代码片段

    我列出的这些有用的Python代码片段,为我节省了大量的时间,并且我希望他们也能为你节省一些时间.大多数的这些片段出自寻找解决方案,查找博客和StackOverflow解决类似问题的答案.下面所有的代 ...

  4. 分析如下java代码片段,Java内部测试笔试题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 while (pointer <= 10) { switch (pointer % 3) { case 1: pointer += 1; break ...

  5. 20非常有用的Java程序片段(1)

    下面是20个非常有用的Java程序片段,希望能对你有用. 1. 字符串有整型的相互转换 String a = String.valueOf(2);   //integer to numeric str ...

  6. java程序实现wifi连接打印_Android下通过wifi调用打印机打印,Java代码片段分享,

    Android下通过wifi调用打印机打印 chongq 分享于 2小时前 4972阅 0人收藏此代码, 好图网图标搜索引擎,提供超过60万的免费图标.PNG图标.ICO图标.ICNS图标.网页图标 ...

  7. java 程序片段_20个非常有用的Java程序片段

    1. 字符串有整型的相互转换 Java代码 String a = String.valueOf(2);   //integer to numeric string int i = Integer.pa ...

  8. 20非常有用的Java程序片段(3)

    15. 创建ZIP和JAR文件 import java.util.zip.*; import java.io.*; publicclass ZipIt { publicstaticvoid main( ...

  9. Idea 封装Java代码片段 快速提示

    title 一,将代码片段抽取为方法 二,将代码封装成模板 快速提示 一,将代码片段抽取为方法 快速生成方法快捷键 . ctrl + alt + m 二,将代码封装成模板 快速提示 步骤都在下面. 博 ...

最新文章

  1. springmvc+mybatis+html 下将查询数据以excell形式上传到ftp(下)
  2. [python] 溜了,溜了,七牛云图片资源批量下载 自建图床服务器
  3. 免费数学神器有了手机版,再复杂的公式,拍照就能转成LaTeX
  4. Java医疗管理系统技术描述
  5. Leetcode: Permutations II
  6. Linux中最常见命令总结
  7. c语言中用文件处理数据,C语言文件处理 -C语言从文件中读写格式化数据
  8. Centos7下Confluence5.6.6安装
  9. python与java前景-Java和Python现在都很热门,哪个更有前途?
  10. ConcurrentDictionary 与 Dictionary
  11. A 1049 Counting Ones (30分)
  12. 遍历Map集合的四种方式
  13. springboot房屋租赁管理系统
  14. 三角函数 弧度角度换算
  15. OpenStack 快速进阶教程
  16. DELL G7 重装win10系统
  17. oracle编程题考试题,oracle考试题
  18. 计算机组装和拆卸的说法错误的是,《计算机组装与维护》选修试卷2009-2010-1A
  19. 【论文阅读记录】孪生网络(Siamese network)
  20. 分形几何算法和实现(C语言)

热门文章

  1. Android Studio中高德地图的黑屏和白屏问题
  2. Pr导出视频如何设置为1080P
  3. F5安装配置VE版本
  4. lisp程序绘制大树_LISP – 树
  5. 基于c语言的数字pid控制算法及实现,基于C语言的数字PID控制算法及实现.pdf
  6. 电商数据监测的几个角度
  7. 人脸识别安全面临三重挑战
  8. 赚钱 36 计 - 第三十三计:众筹计
  9. 谷歌浏览器谷歌翻译不能使用,有如下优化方案可尝试
  10. 车辆信息安全策略及整车电子架构防火墙