(1)数组合并 : 原始合并 定义俩个集合合并为一个集合
例子: public class 测试 {
/**
* 把小王合道
* list中
* */
public static void main(String [] args) throws Exception {
final ArrayList list = new ArrayList<>();
list.add("张无忌");
list.add("周芷若");
list.add("赵敏");
list.add("张强");
list.add("张三丰");
final ArrayList strings = new ArrayList<>();
strings.add("小王");
ArrayList sum = new ArrayList();
//遍历list
list.forEach(s -> {
sum.add(s);
});
strings.forEach(s -> {
sum.add(s);
});
for (Object o : sum) {
System.out.println(o);
}
}
}
steam使用流合并
public class 测试 {
/**
* 把小王合道
* list中
* */
public static void main(String [] args) throws Exception {
final ArrayList list = new ArrayList<>();
list.add("张无忌");
list.add("周芷若");
list.add("赵敏");
list.add("张强");
list.add("张三丰");
final ArrayList strings = new ArrayList<>();
strings.add("小王");
//合并集合concat
//list.stream()获取流对象
Stream.concat(list.stream(),strings.stream()).forEach(System.out::println);
}
}
(2)steam流的长度如何获取
public class 测试 {
/**
* 把小王合道
* list中
* */
public static void main(String [] args) throws Exception {
final ArrayList list = new ArrayList<>();
list.add("张无忌");
list.add("周芷若");
list.add("赵敏");
list.add("张强");
list.add("张三丰");
final ArrayList strings = new ArrayList<>();
strings.add("小王");
//原始获取
System.out.println(list.size());
//使用流获取
System.out.println(list.stream().count());
}
}
如何使用steam流过滤某些字段
/**
*找出集合中叫张的人 以及他名称是3位数的 答案 张三丰 张无忌
*/
例子1 原始
public static void main(String [] args) throws Exception {
final ArrayList list = new ArrayList<>();
list.add("张无忌");
list.add("周芷若");
list.add("赵敏");
list.add("张强");
list.add("张三丰");
list.forEach(s -> {
if (s.startsWith("张")){
if (s.length()==3){
System.out.println(s);
}
}
});
}
//------------------------过滤流写法-------------------------------------------
public class 测试 {
/**
* 把小王合道
* list中
* */
public static void main(String [] args) throws Exception {
final ArrayList list = new ArrayList<>();
list.add("张无忌");
list.add("周芷若");
list.add("赵敏");
list.add("张强");
list.add("张三丰");
filter 过滤 已前缀过滤 s.length他的长度为3的
list.stream().filter(s -> s.startsWith("张")).filter(s -> s.length()==3).forEach(System.out::println);
}
}
截取集合中的前三位数
public class 测试 {
/**
* 把小王合道
* list中
* */
public static void main(String [] args) throws Exception {
final ArrayList list = new ArrayList<>();
list.add("张无忌");
list.add("周芷若");
list.add("赵敏");
list.add("张强");
list.add("张三丰");
//原始截取方法
for (int i = 0; i < list.size(); i++) {
if (i<=2){
System.out.println(list.get(i));
}
}
//steam流的方式截取集合前三个属性
final List collect = list.stream().limit(3).collect(Collectors.toList());
System.out.println(collect);
}
跳过集合中的某些属性
public class 测试 {
/**
* 把小王合道
* list中
* */
public static void main(String [] args) throws Exception {
final ArrayList list = new ArrayList<>();
list.add("张无忌");
list.add("周芷若");
list.add("赵敏");
list.add("张强");
list.add("张三丰");
//原有的
for (int i = 0; i < list.size(); i++) {
if (i>2){
System.out.println(list.get(i));
}
}
//steam流中的
list.stream().skip(3).forEach(System.out::println);
}
}
流中如何去重
public class 测试 {
/**
* 把小王合道
* list中
* */
public static void main(String [] args) throws Exception {
final ArrayList list = new ArrayList<>();
list.add("张无忌");
list.add("周芷若");
list.add("赵敏");
list.add("张强");
list.add("张三丰");
list.add("张三丰");
/* final HashSet strings = new HashSet<>();
for (String s : list) {
strings.add(s);
}
System.out.println("----遍历去重后的结果----");
strings.stream().forEach(s -> {
System.out.println(s);
});*/
//现在的去重如何实现
list.stream().distinct().forEach(System.out::println);
}
}
steam流中如何排序
public class 测试 {
/**
* 把小王合道
* list中
* */
public static void main(String [] args) throws Exception {
final ArrayList list = new ArrayList<>();
list.add(3);
list.add(7);
list.add(2);
list.add(8);
list.add(1);
//原始排序(默认是顺序) 也可以使用冒泡排序 或者快速排序 这个是调用java中的工具类实现的排序
/* Collections.sort(list);*/
//倒叙排列
/* Collections.reverse(list);*/
//从大到小排列
//Collections.sort(list,Collections.reverseOrder());
list.stream().sorted().forEach(System.out::println);
//System.out.println(list);
}
}
数组如何通过流的方式转化为集合
public static void main(String [] args) throws Exception {
int[] a = {1, 2, 3, 4, 5};
final List collect = Arrays.stream(a).boxed().collect(Collectors.toList());
System.out.println(collect);
}}
如何使用流调出数组最大值
public class 测试 {
/**
* 把小王合道
* list中
* */
public static void main(String [] args) throws Exception {
int[] a = {1, 2, 3, 4, 5};
final OptionalInt max = Arrays.stream(a).max();
System.out.println(max);
}
}
流中至少满足一个要求''allMatch allMatch
(全部满足)
public class 测试 {
/**
* 把小王合道
* list中
* */
public static void main(String [] args) throws Exception {
int[] a = {1, 2, 3, 4, 5};
final boolean b = Arrays.stream(a).allMatch(c -> c > 0);
System.out.println(b);//true
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)