4.8学习总结 贪心算法+Stream流

++贪心算法:++

找到局部最优->从而推导全局最优。

Java练习:

++获取随机验证码:++

java 复制代码
import java.util.*;
import java.util.function.BiConsumer;
public class test {
    public static void main(String[] args) {
        System.out.println(createCode(5));
    }
    public static String createCode(int n) {
        Random r=new Random();
        String code="";
        for(int i=0;i<n;i++){
            int type=r.nextInt(3);
            switch(type){
                case 0:
                    code+=r.nextInt(10);
                    break;
                case 1:
                    char chh1=(char)(r.nextInt(26)+65);
                    code+=chh1;
                    break;
                case 2:
                    char chh2=(char)(r.nextInt(26)+97);
                    code+=chh2;
                    break;
            }
        }
        return code;
    }
}

++获取平均数:++

java 复制代码
import java.util.*;
import java.util.function.BiConsumer;
public class test {
    public static void main(String[] args) {
        System.out.println(getAvrge(6));//6为学生个数
    }
    public static double getAvrge(int number){
        Scanner sc=new Scanner(System.in);
        int[] scors=new int[number];
        for(int i=0;i<scors.length;i++){
            System.out.println("请输入第"+(i+1)+"个学生的成绩");
            int score=sc.nextInt();
            scors[i]=score;
        }
        int sum=0;
        int max=scors[0];
        int min=scors[0];
        for(int i=0;i<scors.length;i++){
            int score=scors[i];
            sum+=score;
            if(score>max){
                max=score;
            }
            if(score<min){
                min=score;
            }
        }
        return 1.0*(sum-max-min)/(scors.length-2);
    }
}

Stream流:

java 复制代码
import java.util.*;
import java.util.function.BiConsumer;
public class test {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        list.add("张婧仪");
        list.add("周雨彤");
        list.add("赵丽颖");
        list.add("张张");
        list.add("张凌赫");
        list.stream().filter(name->name.startsWith("张")).filter(name->name.length()==3).forEach(name->System.out.println(name));
        /*ArrayList<String> list1=new ArrayList<>();
        for(String name:list){
            if(name.startsWith("张")){
                list1.add(name);
            }
        }
        System.out.println(list1);
        ArrayList<String> list2=new ArrayList<>();
        for(String name:list1){
            if(name.length()==3){
                list2.add(name);
            }
        }
        System.out.println(list2);*/
    }
}

最长的那行代码等于注释掉的代码。

HashMap不能保证存和取的顺序的,只能保证内容不变。

相关推荐
缺点内向14 小时前
Java:创建、读取或更新 Excel 文档
java·excel
带刺的坐椅14 小时前
Solon v3.4.7, v3.5.6, v3.6.1 发布(国产优秀应用开发框架)
java·spring·solon
deng-c-f14 小时前
Linux C/C++ 学习日记(29):IO密集型与CPU密集型、CPU的调度与线程切换
linux·学习·线程·cpu·io密集·cpu密集
四谎真好看15 小时前
Java 黑马程序员学习笔记(进阶篇18)
java·笔记·学习·学习笔记
洋洋的笔记15 小时前
银行测试学习计划
学习
桦说编程16 小时前
深入解析CompletableFuture源码实现(2)———双源输入
java·后端·源码
java_t_t16 小时前
ZIP工具类
java·zip
lang2015092816 小时前
Spring Boot优雅关闭全解析
java·spring boot·后端
Allan_202517 小时前
数据库学习
数据库·学习
报错小能手17 小时前
linux学习笔记(43)网络编程——HTTPS (补充)
linux·网络·学习