当前位置: 首页 > wzjs >正文

app软件下载网站免费进入网站seo运营培训机构

app软件下载网站免费进入,网站seo运营培训机构,中国会议营销网站,给一个公司做网站维护题目: 分析: 题目要求是"只获取姓名并放到数组当中", ->因此可以用stream流里的map方法把集合中的学生对象转换为姓名即字符串型(注:这不是过滤元素,不需要用filter方法,因为其中…

题目:

分析:

题目要求是"只获取姓名并放到数组当中",

->因此可以用stream流里的map方法把集合中的学生对象转换为姓名即字符串型(注:这不是过滤元素,不需要用filter方法,因为其中只是获取姓名,没有过滤的必要),再使用toArray方法收集到数组中

解答:

解法一:

Student类:

package com.itheima.a04practice;
​
public class Student {private String name;private int age;
​
​public Student() {}
​public Student(String name, int age) {this.name = name;this.age = age;}
​/*** 获取* @return name*/public String getName() {return name;}
​/*** 设置* @param name*/public void setName(String name) {this.name = name;}
​/*** 获取* @return age*/public int getAge() {return age;}
​/*** 设置* @param age*/public void setAge(int age) {this.age = age;}
​public String toString() {return "Student{name = " + name + ", age = " + age + "}";}
}

测试类:

package com.itheima.a04practice;
​
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.function.Function;
​
public class FunctionPractice {public static void main(String[] args) {//1.创建集合ArrayList<Student> list = new ArrayList<>();
​//2.创建学生对象Student s1 = new Student("zhangsan", 23);Student s2 = new Student("lisi", 24);Student s3 = new Student("wangwu", 25);
​//3.把学生对象添加到集合中Collections.addAll(list, s1, s2, s3);
​//4.把list集合中的元素放到stream流上进行操作/* 分析:题目要求是"只获取姓名并放到数组当中",因此可以用stream流里的map方法把list集合中的Student型对象转换为姓名即字符串型(注:这不是过滤元素,不能用filter方法),再使用toArray方法收集到数组中 */Object[] array = list.stream().map(new Function<Student, String>() { //这里可以用lambda表达式改写,就不演示了@Overridepublic String apply(Student student) {//4.1.获取学生姓名String name = student.getName();//4.2.返回姓名return name;}}).toArray();
​//5.打印姓名/*注:这里直接打印数组名array结果是地址值,要转换为字符串型才能是具体数据*/System.out.println(Arrays.toString(array));//运行结果为[zhangsan, lisi, wangwu]}
}

解法二:将解法一用方法引用改写

Student类:

package com.itheima.a04practice;
​
public class Student {private String name;private int age;
​
​public Student() {}
​public Student(String name, int age) {this.name = name;this.age = age;}
​/*** 获取* @return name*/public String getName() {return name;}
​/*** 设置* @param name*/public void setName(String name) {this.name = name;}
​/*** 获取* @return age*/public int getAge() {return age;}
​/*** 设置* @param age*/public void setAge(int age) {this.age = age;}
​public String toString() {return "Student{name = " + name + ", age = " + age + "}";}
​public static String method(Student student){//获取学生姓名并返回return student.getName();}
}

测试类:

package com.itheima.a04practice;
​
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
​
public class FunctionPractice {public static void main(String[] args) {//1.创建集合ArrayList<Student> list = new ArrayList<>();
​//2.创建学生对象Student s1 = new Student("zhangsan", 23);Student s2 = new Student("lisi", 24);Student s3 = new Student("wangwu", 25);
​//3.把学生对象添加到集合中Collections.addAll(list, s1, s2, s3);
​//4.把list集合中的元素放到stream流上进行操作/* 分析:题目要求是"只获取姓名并放到数组当中",因此可以用stream流里的map方法把list集合中的Student型对象转换为姓名即字符串型(注:这不是过滤元素,不能用filter方法),再使用toArray方法收集到数组中 */Object[] array = list.stream().map(Student::method).toArray();
​//5.打印姓名/*注:这里直接打印数组名array结果是地址值,要转换为字符串型才能是具体数据*/System.out.println(Arrays.toString(array));//运行结果为[zhangsan, lisi, wangwu]}
}

注意事项:

首先要明确一点:map方法中所做的操作并没有创建Student对象,因此map方法中使用方法引用的话不能引用构造方法,这里可以直接使用引用静态方法改写,因为map方法在main方法里,main方法是静态的。

解法三:

Student类:

package com.itheima.a05practice;
​
public class Student {private String name;private int age;
​
​public Student() {}
​public Student(String name, int age) {this.name = name;this.age = age;}
​/*** 获取* @return name*/public String getName() {return name;}
​/*** 设置* @param name*/public void setName(String name) {this.name = name;}
​/*** 获取* @return age*/public int getAge() {return age;}
​/*** 设置* @param age*/public void setAge(int age) {this.age = age;}
​public String toString() {return "Student{name = " + name + ", age = " + age + "}";}
}

测试类:

package com.itheima.a05practice;
​
import java.util.ArrayList;
import java.util.Arrays;
import java.util.function.Function;
import java.util.function.IntFunction;
​
public class FunctionDemo {public static void main(String[] args) {//1.创建集合ArrayList<Student> list = new ArrayList<>();
​//2.创建学生对象并添加list.add(new Student("zhangsan", 23));list.add(new Student("lisi", 24));list.add(new Student("wangwu", 25));
​//3.获取姓名并放到数组当中/* 可以使用stream流,list.stream()用于获取stream流水线,并把数据放到流水线上,*  此时流水线上的数据是Student型,题目中要把学生姓名收集到数组中,因此要先获取姓名,*  也就是要把Student对象变成姓名即字符串->可以用map方法进行类型转换,*  再收集到数组中->使用toArray方法 */String[] arr = list.stream().map(new Function<Student, String>() {@Overridepublic String apply(Student student) {return student.getName(); //获取学生姓名并返回}}).toArray(new IntFunction<String[]>() { //之所以是字符串型,是因为map方法执行完毕之后,流里的数据都是姓名即字符串型,这里必须是字符串数组String[],因为有多个数据@Overridepublic String[] apply(int value) {return new String[value];}});
​//4.打印arr数组System.out.println(Arrays.toString(arr));/* 运行结果为[zhangsan, lisi, wangwu] */}
}
​

解法四:将解法三用方法引用改写

分析:

Student类:

package com.itheima.a05practice;
​
public class Student {private String name;private int age;
​
​public Student() {}
​public Student(String name, int age) {this.name = name;this.age = age;}
​/*** 获取* @return name*/public String getName() {return name;}
​/*** 设置* @param name*/public void setName(String name) {this.name = name;}
​/*** 获取* @return age*/public int getAge() {return age;}
​/*** 设置* @param age*/public void setAge(int age) {this.age = age;}
​public String toString() {return "Student{name = " + name + ", age = " + age + "}";}
}

测试类:

package com.itheima.a05practice;
​
import java.util.ArrayList;
import java.util.Arrays;
​
public class FunctionDemo {public static void main(String[] args) {//1.创建集合ArrayList<Student> list = new ArrayList<>();
​//2.创建学生对象并添加list.add(new Student("zhangsan", 23));list.add(new Student("lisi", 24));list.add(new Student("wangwu", 25));
​//3.获取姓名并放到数组当中/* 可以使用stream流,list.stream()用于获取stream流水线,并把数据放到流水线上,*  此时流水线上的数据是Student型,题目中要把学生姓名收集到数组中,因此要先获取姓名,*  也就是要把Student对象变成姓名即字符串->可以用map方法进行类型转换,*  再收集到数组中->使用toArray方法 */String[] arr = list.stream().map(Student::getName) //表示拿着流里面的每一个数据,去调用Student类里的getName方法获取姓名.toArray(String[]::new); //调用toArray方法把流里的数据放到数组中,这里相当于创建了一个字符串数组,并把流里面的数据放到该数组中
​//4.打印arr数组System.out.println(Arrays.toString(arr));/* 运行结果为[zhangsan, lisi, wangwu] */}
}

http://www.dtcms.com/wzjs/287041.html

相关文章:

  • wordpress query postseo承诺排名的公司
  • cn域名著名网站seo排名优化公司
  • 电脑网站建设规划指数基金排名前十名
  • 电商网站 建设价格搜索引擎优化通常要注意的问题有
  • 如何将自己做的网站变成中文如何制作一个属于自己的网站
  • 怎么做公司网站seo怎么创建网页链接
  • 在线课堂网站开发网站推广
  • 西安旅游服务网站建设沈阳seo代理计费
  • 温州网站设计力推亿企帮bt樱桃 磁力岛
  • 文章网建站优化seo是什么
  • 查看wordpress版本号苏州吴中区seo关键词优化排名
  • 台州的网站建设百度 个人中心首页
  • 网站开发一个人可以完成吗使用软件提高百度推广排名
  • 个人网站备案 服务内容怎么写google chrome
  • 沈阳做网站百度竞价排名广告定价
  • 厦门做企业网站比较好的公司b2b免费外链发布
  • 小贷做网站google网站入口
  • 长沙专业做网站公司哪家好seo属于技术还是营销
  • 怎么在家做网站网络营销策略的特点
  • 经营阅读网站需要怎么做自己做网站需要什么条件
  • 个人服务器搭建做网站信息流广告加盟代理
  • java怎么做网站多语言搜索排名
  • 业务型网站首页百度推广联系人
  • 免费建商城网站哪个好seo和sem的区别与联系
  • 微信公众号免费做影视网站软文范例大全1000字
  • 博物馆网站做的最好的世界杯最新排名
  • wix做的网站aso优化什么意思
  • 政府网站建设电子政务历史权重查询
  • 万能邮箱登录入口合肥优化推广公司
  • wordpress增加百度收录杭州网站seo推广