菜鸡学习day24
package day24;
import java.util.*;
import java.util.stream.Stream;
public class D2401 {
public static void main(String[] args){
stream01();
huoQu();
forEach1();
filter1();
map1();
count1();
limit1();
skip1();
concat1();
lianXi1();
lianXi2();
print1((str)->{
System.out.println(str);
});
print1(System.out::println);
Person person = new Person();
person.printperson("aaa");
print1(person::printperson);
int num = cal1(-10,(n)->{return Math.abs(n);});
cal1(-10,Math::abs);
printName("小周",Person::new);
createArray(10,int[]::new);
}
public static void stream01(){
ArrayList<String> list = new ArrayList<>();
list.add("小明");
list.add("大红");
list.add("大大周");
list.add("小王");
list.stream().filter((str) -> str.startsWith("大"))
.filter((str) -> str.length() == 3)
.forEach((str) -> System.out.println(str));
}
public static void huoQu(){
List<String> list = new ArrayList<>();
Stream<String> stream1 = list.stream();
Set<String> set1 = new HashSet<>();
Stream<String> stream2 = set1.stream();
Map<String,String> map1 =new HashMap<>();
Set<String> set2 = map1.keySet();
Stream<String> stream3 = set2.stream();
Collection<String> coll = map1.values();
Stream<String> stream4 = coll.stream();
Set<Map.Entry<String,String>> entry = map1.entrySet();
Stream<Map.Entry<String,String>> stream5 = entry.stream();
Integer[] array = {6,7,8,9,10};
Stream<Integer> stream6 = Stream.of(array);
}
public static void forEach1(){
Stream<String> stream1 = Stream.of("aa","bb","cc","dd");
stream1.forEach((str)->{
System.out.println(str);
});
}
public static void filter1(){
Stream<String> stream1 = Stream.of("aa","bb","cc","dd");
Stream s = stream1.filter((str)->{
return str.startsWith("c");
});
s.forEach((str)->{
System.out.println(str);
});
}
public static void map1(){
Stream<String> stream1 = Stream.of("1","2","3","4");
Stream<Integer> stream2 = stream1.map((str)->{
return Integer.parseInt(str);
});
stream2.forEach((i)->{
System.out.println(i);
});
}
public static void count1(){
Stream<String> stream1 = Stream.of("aa","bb","cc","dd");
Long l = stream1.count();
System.out.println(l);
}
public static void limit1(){
Stream<String> stream1 = Stream.of("aa","bb","cc","dd");
Stream<String> stream2 = stream1.limit(2);
stream2.forEach((str)->{
System.out.println(str);
});
}
public static void skip1(){
Stream<String> stream1 = Stream.of("aa","bb","cc","dd");
Stream<String> stream2 = stream1.skip(2);
stream2.forEach((str)->{
System.out.println(str);
});
}
public static void concat1(){
Stream<String> stream1 = Stream.of("aa","bb","cc","dd");
Stream<String> stream2 = Stream.of("1","2","3","4");
Stream.concat(stream1,stream2).forEach((str)->{
System.out.println(str);
});
}
public static void lianXi1(){
List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
String[] arr1 = {"AAA","BB","CCC","DD","EEE","FF","GGG","HH"};
String[] arr2 = {"aa","1bb","cc","1dd","ee","1ff","gg","1hh"};
for(String str : arr1){
list1.add(str);}
List<String> list11 = new ArrayList<>();
for(String str : list1){
if(str.length() == 3){
list11.add(str);
}
}
List<String> list12 = new ArrayList<>();
for(int i = 0;i < 3;i++){
list12.add(list11.get(i));
}
for (String str : arr2){
list2.add(str);
}
List<String> list21 = new ArrayList<>();
for(String str : list2){
if(str.startsWith("1")){
list21.add(str);
}
}
List<String> list22 = new ArrayList<>();
for(int i = 2;i < list21.size();i++){
list22.add(list21.get(i));
}
System.out.println(list2);
System.out.println(list21);
System.out.println(list22);
List<String> list3 = new ArrayList<>();
for(String str : list12){list3.add(str);}
for(String str : list22){list3.add(str);}
List<Person> list4 = new ArrayList<>();
for(String str : list3){
list4.add(new Person(str));
}
for(Person p : list4){
System.out.println(p);
}
}
public static void lianXi2(){
List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
Stream<String> stream1 = list1.stream();
Stream<String> stream11 = Stream.of("AAA","BB","CCC","DD","EEE","FF","GGG","HH")
.filter((str)->str.length() == 3).limit(3);
Stream<String> stream2 = list2.stream();
Stream<String> stream21 = Stream.of("aa","1bb","cc","1dd","ee","1ff","gg","1hh")
.filter((str)->str.startsWith("1")).skip(2);
List<String> list3 = new ArrayList<>();
Stream<String> stream3 = list3.stream();
stream3 = Stream.concat(stream11,stream21);
List<Person> list4 = new ArrayList<>();
Stream<Person> stream4 = list4.stream();
stream4 =stream3.map((str)->new Person(str));
stream4.forEach((str)->{
System.out.println(str);
});
}
public static void print1(Print1 p){
p.print("AAA");
}
public static int cal1(int i, Cal c){
return c.cal(10);
}
public static void printName(String name,PersonBuilder pb){
Person person = pb.buildPerson(name);
System.out.println(person.getName());
}
public static int[] createArray(int len,ArrayBuilder ab){
return ab.builderArray(len);
}
}
package day24;
@FunctionalInterface
public interface Print1 {
void print(String str);
}
package day24;
import java.util.stream.Stream;
public class Person {
private String name;
public Person() {
}
public Person(String name) {
this.name = name;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void printperson(String str){
System.out.println(str.toUpperCase());
}
}
package day24;
@FunctionalInterface
public interface Cal {
int cal(int i);
}
package day24;
@FunctionalInterface
public interface PersonBuilder {
Person buildPerson(String name);
}
package day24;
@FunctionalInterface
public interface ArrayBuilder {
int[] builderArray(int len);
}