前言:这篇文章的主要目的是,因为有的内容我其实还不太熟,但是我在实际写代码时需要参考其内容,一遍遍的开demo太麻烦,干脆做这个纯享版。也就是说,这篇文章仅适用于博主本人。


ExtendDemo.java

import java.util.Scanner;
public class ExtendDemo {public static class student {public static String name;public static String id;public void show(){System.out.println("Student's name:"+name);System.out.println("Student's id:"+id);}public static void read(String n, String i){name = n;id = i;}}public static class Computer extends student {private static int Java, Python, C;private static void read_score(int J, int P, int c){Java = J;Python = P;C = c;}public void show() {System.out.println("name:" + name);System.out.println("id:" + id);System.out.println("Java:" + Java);System.out.println("Python:" + Python);System.out.println("C:" + C);}public static void show(int mode) {switch (mode){case 0:System.out.println("sum:"+(Java+Python+C)); break;case 1:System.out.println("average:"+(Java+Python+C)/3); break;case 2: {System.out.print("max:");int m;m = Java > Python ? Java : Python;m = m > C ? m : C;System.out.println(m);}}}}public static void main(String[] args){Scanner scan_in = new Scanner(System.in);String name = "Mike";String id = "114514";int Java = 94, Python = 97, C = 96;Computer c = new Computer();c.read(name, id);c.read_score(Java, Python, C);c.show();c.show(0);c.show(1);c.show(2);}
}

StringBuilderORBufferDemo.java

public class StringBuilderORBufferDemo {public static void StringBuilderDemo() {System.out.println("------StringBuilderDemo------");StringBuilder builder = new StringBuilder(30);//指定长度为30的空StringBuilder类型//在后面加上字符串builder.append("First");System.out.println(builder);//在字符串中的某个位置插入一个字符串builder.insert(0, "Second ");System.out.println(builder);//获取字符串的长度System.out.println(builder.length());//删除指定位置的字符builder.deleteCharAt(6);System.out.println(builder);//删除指定范围的字符(左闭右开)builder.delete(2, 10);System.out.println(builder);//把StringBuilder改为String类型String string = builder.toString();System.out.println("String:"+string);//反转builder.reverse();System.out.println(builder);//替代某段字符串builder.replace(2,3,"xt");System.out.println(builder);}public static void StringBufferDemo() {System.out.println("------StringBufferDemo------");StringBuffer builder = new StringBuffer(30);//指定长度为30的空StringBuilder类型//在后面加上字符串builder.append("First");System.out.println(builder);//在字符串中的某个位置插入一个字符串builder.insert(0, "Second ");System.out.println(builder);//获取字符串的长度System.out.println(builder.length());//删除指定位置的字符builder.deleteCharAt(6);System.out.println(builder);//删除指定范围的字符(左闭右开)builder.delete(2, 10);System.out.println(builder);//把StringBuilder改为String类型String string = builder.toString();System.out.println("String:"+string);//反转builder.reverse();System.out.println(builder);//替代某段字符串builder.replace(2,3,"xt");System.out.println(builder);}public static void main(String[] args){//StringBuilder线程上更安全,时间略慢StringBuilderDemo();//StringBuffer时间上更快,在多线程情况下安全性略差StringBufferDemo();}
}

HashMapDemo.java

import java.util.HashMap;
public class HashMapDemo {public static void main(String[] args){//声明整型指向字符串类型的HashMapHashMap<Integer, String> hash = new HashMap<Integer, String>();//添加键值对hash.put(1, "Chinese");hash.put(2, "Java");hash.put(3, "Math");hash.put(4, "Python");hash.put(5, "English");System.out.println(hash);//访问元素System.out.println(hash.get(2));//删除元素hash.remove(5);System.out.println(hash);//删除所有元素//hash.clear();//计算大小System.out.println("Size="+hash.size());//迭代元素for (int i: hash.keySet()) {System.out.println("key:"+i+"-->value:"+hash.get(i));}}
}

ArrayListDemo.java

import java.util.ArrayList;
import java.util.Collections;
public class ArrayListDemo {public static void BasicDemo() {System.out.println("------BasicDemo------");//初始化ArrayList<Integer> array = new ArrayList<Integer>();//添加元素for (int i=1; i<=5; i++) {array.add(i*10);}System.out.println(array);//访问元素System.out.println(array.get(3));//修改元素array.set(0,100);System.out.println(array);//删除元素array.remove(4);System.out.println(array);//计算大小System.out.println(array.size());//迭代数组for (int i: array) {System.out.println(i);}}public static void AdvancedDemo() {System.out.println("-----AdvancedDemo------");//初始化ArrayList<Integer> array = new ArrayList<>();array.add(1); array.add(2); array.add(3); array.add(1);System.out.println(array);//清空数组array.clear();System.out.println(array);//判断空数组if (array.isEmpty()) System.out.println("array is empty now.");//初始化array.add(11);for (int i=0; i<10; i++) {array.add(array.get(i)*99991%97);}System.out.println(array);//复制一份数组//array.clone();//判断是否包含某个元素if (array.contains(11)) System.out.println("It contains 11.");if (!array.contains(12)) System.out.println("It doesn't contain 12.");//截取部分元素System.out.println(array.subList(1,5));//排序Collections.sort(array);System.out.println(array);}public static void main(String[] args){//基础操作BasicDemo();//进阶操作AdvancedDemo();}
}

AbstractDemo.java

abstract class Animal{public Animal(){System.out.println("------This is an Animal.------");}public abstract void sleep();public abstract void eat();public abstract void living();
}
class Dog extends Animal {public Dog() {System.out.println("------This is a Dog.------");}@Overridepublic void sleep(){System.out.println("A dog sleeps on his stomach.");}public void eat(){System.out.println("A dog eats meat.");}public void living(){System.out.println("A dog lives in his owner's house.");}
}
class Bat extends Animal {public Bat() {System.out.println("------This is a Bat.------");}@Overridepublic void sleep() {System.out.println("A bat sleeps on the top.");}public void eat() {System.out.println("A bat eats bugs and nectar.");}public void living() {System.out.println("A bat lives in a cave.");}
}
class Bear extends Animal {public Bear() {System.out.println("------This is a Bear.------");}@Overridepublic void sleep() {System.out.println("A Bear sleeps in his back.");}public void eat() {System.out.println("A Bear likes honey.");}public void living() {System.out.println("A Bear lives in a tree hole or a cave.");}
}
abstract class Human extends Animal {@Overridepublic void sleep() {System.out.println("A human sleeps in the bed.");}public void eat() {System.out.println("A human eats everything as long as it could be eaten!");}public void living() {System.out.println("A human lives in his house.");}
}
class Man extends Human {public Man() {System.out.println("------He is a man.------");}public void sleep() {super.sleep();}public void eat() {super.eat();}public void living() {super.living();}public void features() {System.out.println("An adult male usually has a larger Adam's apple.");System.out.println("Male muscle tissue is usually more developed.");System.out.println("In primitive society, men usually did more work.");}
}
class Woman extends Human {public Woman() {System.out.println("------She is a woman.------");}public void sleep() {super.sleep();}public void eat() {super.eat();}public void living() {super.living();}public void features() {System.out.println("The female chromosome is XX.");System.out.println("Women are usually more empathetic.");System.out.println("In Japan, women are often treated unfairly.");}
}
public class AbstractDemo {public static void main(String[] args) {Animal dog = new Dog();dog.sleep(); dog.eat(); dog.living();Animal bat = new Bat();bat.sleep(); bat.eat(); bat.living();Animal bear = new Bear();bear.sleep(); bear.eat(); bear.living();Man man = new Man();man.sleep(); man.eat(); man.living();man.features();Woman woman = new Woman();woman.sleep(); woman.eat(); woman.living();woman.features();}
}

InterfaceDemo1.java

public interface InterfaceDemo1 {int addition(int a, int b);int subtraction(int a, int b);int match(int a, int b);
}
//我们现在希望实现的功能如下:
//定义三个运算addition subtraction match,它们每次都会接收两个整型参数
//模式一:addition表示两个数字的和,subtraction表示两个数字之差,match返回它们的大小比较(1表示大于,0表示等于,-1表示小于)
//模式二:addition表示两个数字的与运算,subtraction表示两个数字的或运算,match表示两个数字的异或运算

InterfaceDemo2.java

class Mode1 implements InterfaceDemo1{public int addition(int a, int b) {return a+b;}public int subtraction(int a, int b) {return a-b;}public int match(int a, int b) {if (a==b) return 0;else return (a-b)/Math.abs(a-b);}
}
class Mode2 implements InterfaceDemo1{public int addition(int a, int b) {return a&b;}public int subtraction(int a, int b) {return a|b;}public int match(int a, int b) {return a^b;}
}
public class InterfaceDemo2 {public static void main(String[] args){int a = 12;int b = 9;Mode1 m1 = new Mode1();System.out.println(m1.addition(a,b));System.out.println(m1.subtraction(a,b));System.out.println(m1.match(a,b));Mode2 m2 = new Mode2();System.out.println(m2.addition(a,b));System.out.println(m2.subtraction(a,b));System.out.println(m2.match(a,b));}
}

GenericDemo1.java

public class GenericDemo1{public static<T> void PrintArray(T[] array) {for (T i: array) {System.out.print(i+" ");}System.out.println();}public static void ArrayDemo() {System.out.println("------ArrayDemo------");Integer[] array_int = {2,3,5,7,11,13,17,19};PrintArray(array_int);Character[] array_char = {'a', 'e', 'i', 'o', 'u'};PrintArray(array_char);String[] array_string = {"Just", "like", "the", "stars", "we", "burn", "light", "up", "the", "night"};PrintArray(array_string);}public static<T extends Comparable<T>> T Max(T a, T b, T c) {T max;if (a.compareTo(b)>0)max = a;elsemax = b;if (max.compareTo(c)<0)max = c;return max;}public static void MaxDemo() {System.out.println("------MaxDemo------");int a1=10, a2=80, a3=50;System.out.println(Max(a1,a2,a3));double b1=1.6*1e-19, b2=3.1415926535, b3=3*1e8;System.out.println(Max(b1,b2,b3));char c1='a', c2='&', c3=' ';System.out.println(Max(c1,c2,c3));String d1="Java", d2="JavaScript", d3="J";System.out.println(Max(d1,d2,d3));}public static void main(String[] args) {//ArrayDemo:数组的输出ArrayDemo();//MaxDemo:接受三个数据,并且输出其最大值MaxDemo();}
}

GenericDemo2.java

abstract class Pattern<T> {public abstract String addition(T a1, T a2);public abstract String subtraction(T a1, T a2);public abstract Boolean match(T a1, T a2);
}
class IntegerMode<T extends Number> extends Pattern<T> {@Overridepublic String addition(T a1, T a2){return String.valueOf(a1.intValue()+a2.intValue());}public String subtraction(T a1, T a2){return String.valueOf(a1.intValue()-a2.intValue());}public Boolean match(T a1, T a2){return a1.intValue() >= a2.intValue();}
}
class DoubleMode<T extends Number> extends Pattern<T> {@Overridepublic String addition(T a1, T a2){return String.valueOf(a1.doubleValue()+a2.doubleValue());}public String subtraction(T a1, T a2){return String.valueOf(a1.doubleValue()-a2.doubleValue());}public Boolean match(T a1, T a2){return a1.doubleValue() >= a2.doubleValue();}
}
class CharacterMode<T extends Character> extends Pattern<T> {@Overridepublic String addition(T a1, T a2){return String.valueOf((char)(a1.charValue()+a2.charValue()));}public String subtraction(T a1, T a2){return String.valueOf((char)Math.abs(a1.charValue()-a2.charValue()));}public Boolean match(T a1, T a2){return a1.charValue() == a2.charValue();}
}
class StringMode<T extends String> extends Pattern<T> {@Overridepublic String addition(T a1, T a2){return a1+a2.toString();}public String subtraction(T a1, T a2){String regular_expression = "["+a2+"]";String[] subs = a1.split(regular_expression);StringBuilder str = new StringBuilder();for (String sub: subs) {str.append(sub);}return str.toString();}public Boolean match(T a1, T a2){return a1.contains(a2);}
}
public class GenericDemo2{public static void CalculateDemo() {System.out.println("------test for IntegerMode------");IntegerMode<Integer> Ex1 = new IntegerMode<>();int a1=10, a2=20;System.out.println(Ex1.addition(a1,a2));System.out.println(Ex1.subtraction(a1,a2));System.out.println(Ex1.match(a1,a2));System.out.println("------test for DoubleMode------");DoubleMode<Double> Ex2 = new DoubleMode<>();double b1=9.99, b2=0.01;System.out.println(Ex2.addition(b1,b2));System.out.println(Ex2.subtraction(b1,b2));System.out.println(Ex2.match(b1,b2));System.out.println("------test for CharacterMode------");CharacterMode<Character> Ex3 = new CharacterMode<>();char c1='x', c2='0', c3='0';System.out.println(Ex3.addition(c1,c2));System.out.println(Ex3.subtraction(c1,c2));System.out.println(Ex3.match(c1,c2));System.out.println(Ex3.match(c2,c3));System.out.println("------test for StringMode------");StringMode<String> Ex4 = new StringMode<>();String d1="JavaScript", d2="Java", d3="aeiou";System.out.println(Ex4.addition(d1,d2));System.out.println(Ex4.subtraction(d1,d3));System.out.println(Ex4.match(d1,d2));System.out.println(Ex4.match(d1,d3));}public static void main(String[] args) {//CalculateDemo定义三个运算addition subtraction match,它们每次都会接收两个参数。具体要求如下://addition的返回值是字符串类型,subtraction的返回值是字符串类型,match的返回值是布尔类型。//如果接收的是整数,addition的返回值是它们的和,subtraction的返回值是它们的差,match的返回值是它们的大小比较(如果前面的数大于等于后面的数,返回true;否则返回的是false)//如果接收的是浮点数,addition subtraction match的功能和整型一致//如果接收的是字符,addition的返回值是它们ASCLL码之和所表示的字符,subtraction的返回值是它们ASCLL码之差的绝对值所表示的字符,match判断是否相同(如果两个字符相同,返回true;否则返回的是false)//如果接收的是字符串,addition的返回值是它们的字符串连接,subtraction的返回值是第一个字符串去掉所有第二个字符串所包含的字符,match判断第二个字符串是否为第一个字符串的子串(如果第二个字符串是第一个字符串的子串,返回true;否则返回的是false)//注意,接收的两个参数尽管可以是整型、浮点数、字符或字符串,但它们保持类型一致。CalculateDemo();}
}

AnonymousDemo.java

import java.util.Arrays;
class book {public String title;public String[] author;public double price;public void read(String t, String[] a, double p) {title = t;author = a;price = p;}public void display_title() {System.out.println("The title of book is "+title);}public void display_author () {if (author.length>1)System.out.println("The authors of "+ title + " are "+ Arrays.toString(author));else System.out.println("The author of "+ title + " is "+ Arrays.toString(author));}public void display_price() {System.out.println("The price of "+ title + " is "+price);}
}
class DiscreteMathematics extends book{public void read(String t, String[] a, double p) {super.read(t, a, p);}public void write(DiscreteMathematics b) {DiscreteMathematics dm = new DiscreteMathematics() {@Overridepublic void display_title () {System.out.println("Price: " + price);}public void display_author () {if (author.length>1)System.out.println("Authors: "+ Arrays.toString(author));else System.out.println("Author: "+ Arrays.toString(author));}public void display_price () {System.out.println("Title: " + title);}};dm.read(b.title, b.author, b.price);dm.display_price();dm.display_author();dm.display_title();}
}
class DataStructure extends book {public void read(String t, String[] a, double p) {super.read(t, a, p);}public void write(DataStructure b) {DataStructure ds = new DataStructure() {@Overridepublic void display_title () {System.out.println("Price: " + price);}public void display_author () {if (author.length>1)System.out.println("Authors: "+ Arrays.toString(author));else System.out.println("Author: "+ Arrays.toString(author));}public void display_price () {System.out.println("Title: " + title);}};ds.read(b.title, b.author, b.price);ds.display_price();ds.display_author();ds.display_title();}
}
class AnonymousDemo {public static void main(String[] args) {String t0 = "《马克思主义基本原理》";String[] a0 = {"本书编写组"};double p0 = 23.00;book b = new book();b.read(t0, a0, p0);b.display_title();b.display_author();b.display_price();String t1 = "《离散数学》";String[] a1 = {"屈婉玲","耿素云","张立昂"};double p1 = 49.00;DiscreteMathematics dm = new DiscreteMathematics();dm.read(t1, a1, p1);dm.write(dm);String t2 = "《数据结构》";String[] a2 = {"殷人昆"};double p2 = 49.50;DataStructure ds = new DataStructure();ds.read(t2, a2, p2);ds.write(ds);}
}

LambdaDemo.java

import java.util.Collections;
import java.util.ArrayList;
public class LambdaDemo {public static void forEachDemo() {System.out.println("------forEachDemo------");String string = "This is a demo for ForEach.";ArrayList<String> subs = new ArrayList<String>();Collections.addAll(subs, string.split(" "));subs.forEach(i-> System.out.println(i));}public static void PoetDemo1() {Li_Po poet1 = new Li_Po();poet1.Information();}public static void PoetDemo2() {Li_Ching_chao poet2 = new Li_Ching_chao() {@Overridepublic void Information() {super.Information();}};poet2.Information();}public static void PoetDemo3() {Poet p3 = ()->{System.out.println("------诗人:杜甫------");System.out.println("朝代:唐朝");System.out.println("子子美,自号少陵野老");System.out.println("代表作有《茅屋为秋风所破歌》、《垂老别》、《登高》等");};p3.Information();}public static void MathDemo() {System.out.println("------MathDemo------");math t = (double x)->{return Math.pow(Math.E, x);};int x = 5;System.out.println("pow(e,"+x+")="+t.e_pow(x));double y = 8.01;System.out.println("pow(e,"+y+")="+t.e_pow(y));}public static void main(String[] args){forEachDemo();PoetDemo1();PoetDemo2();PoetDemo3();MathDemo();}
}
interface Poet{void Information();
}
class Li_Po implements Poet {public void Information() {System.out.println("------诗人:李白------");System.out.println("朝代:唐朝");System.out.println("字太白,号青莲居士");System.out.println("代表作有《前路难》、《蜀道难》、《将进酒》等");}
}
class Li_Ching_chao implements Poet {public void Information() {System.out.println("------诗人:李清照------");System.out.println("朝代:宋朝");System.out.println("号易安居士");System.out.println("代表作有《醉花阴·薄雾浓云愁永昼》、《渔家傲·天接云涛连晓雾》、《声声慢·寻寻觅觅》等");}
}
interface math {double e_pow(double x);
}

CollectionDemo.java

import java.util.Collection;
import java.util.Collections;
import java.util.ArrayList;
public class CollectionDemo{public static void main(String[] args){System.out.println("------CollectionDemo------");//初始化Collection<Integer> c = new ArrayList<Integer>();int x = 11;for (int i=0; i<14; i++) {c.add(x);x = x*99991%97;}System.out.println(c);//判断元素是否存在System.out.println("c contains 11: "+c.contains(11));System.out.println("c contains 12: "+c.contains(12));//删除元素c.remove(11);System.out.println("delete 11: "+c);c.remove(11);System.out.println("delete one more 11: "+c);Collection<Integer> c1 = new ArrayList<>();c1.add(18);c1.add(3);c.removeAll(c1);System.out.println("removeAll demo: "+c);//addAllArrayList<Integer> c2 = new ArrayList<>();c2.addAll(c);//这两行还可以简化为这一行:ArrayList<Integer> c2 = new ArrayList<>(c);//排序Collections.sort(c2);System.out.println("Sorted: "+c2);//规模System.out.println("Size :"+c.size());//清空和判空//判空System.out.println("Empty: "+c.isEmpty());c.clear();System.out.println("Empty: "+c.isEmpty());}
}

IODemo.java

import java.io.*;
import java.util.*;
public class IODemo {public static void Demo1(){System.out.println("------Demo1------");//创建fileFileReader file;try { //不try会报错//file = new FileReader("IODemoInput.txt");file = new FileReader("src\\IODemoInput.txt");} catch (FileNotFoundException e) {throw new RuntimeException(e);}//创建BufferedReadertry {BufferedReader read = new BufferedReader(file);String str;while ( (str=read.readLine()) != null){System.out.println(str);}} catch (IOException e) {throw new RuntimeException();}}public static void Demo2() {System.out.println("------Demo2------");try {BufferedReader read = new BufferedReader(new FileReader("src\\IODemoInput.txt"));String str= read.readLine(), total = str, model = "[, ]+";while ( (str=read.readLine()) != null){total = total + " " + str;}System.out.println(total);Set<String> sub = new TreeSet<>(Arrays.asList(total.split(model)));ArrayList<String> subs = new ArrayList<>(sub);Collections.sort(subs);int n=0;for (String i:subs) {System.out.printf("%-8s",i+" ");n++;if (n%10==0) System.out.println();}System.out.println();} catch (IOException e) {throw new RuntimeException();}}public static void Demo3() {try {FileWriter w = new FileWriter("src\\IODemoOutput.txt");w.write("------Demo3------\n");BufferedReader read = new BufferedReader(new FileReader("src\\IODemoInput.txt"));String str= read.readLine(), total = str, model = "[, ]+";while ( (str=read.readLine()) != null){total = total + " " + str;}Set<String> sub = new TreeSet<>(Arrays.asList(total.split(model)));int len=0;while (sub.size()>0) {len++;ArrayList<String> modular = new ArrayList<>();ArrayList<String> subs = new ArrayList<>(sub);for (String i: subs) {if (i.length()==len) {modular.add(i);sub.remove(i);}}Collections.sort(modular);if (modular.size()>0) {w.write("Length="+len+": ");for (String i : modular) {w.write(i+" ");}w.write("\n");}w.flush();}} catch (IOException e) {throw new RuntimeException();}}public static void main(String[] args){Demo1();Demo2();Demo3();}
}

StreamDemo.java

import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class StreamDemo{public static void Demo1() {System.out.println("------Demo1------");ArrayList<String> list = new ArrayList<>();list.add("递归与分治策略");list.add("动态规划");list.add("贪心算法");list.add("回溯法");list.add("分支限界法");list.add("随机化算法");list.add("随机化算法");Stream<String> stream = list.stream();System.out.println(stream.count());//System.out.println(stream.distinct().count());会报错,因为stream在上一行已经被用过了,现在它不能再被使用System.out.println(list.stream().distinct().count());}public static void Demo2() {System.out.println("------Demo2------");Set<Integer> set = new TreeSet<>();int x=11;for (int i=0; i<1400; i++) {set.add(x); x=x*99991%97;}System.out.println(set.stream().count());}public static void Demo3() {System.out.println("------Demo3------");String[] day = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};//forEach演示System.out.println("A week:");List<String> days = new ArrayList<>();for (String d: day) days.add(d+" ");days.stream().forEach(System.out::print);//筛选或者说是过滤System.out.println("\nLength = 6:");( new ArrayList<>( List.of(day) ) ).stream().filter(str -> str.length()==6).forEach(System.out::println);}public static void Demo4() {System.out.println("------Demo4------");String lyric = "coUlD You FINd     a wAY TO LEt me doWn SlOwLy?";String match = "[^a-zA-Z]+";String[] word = lyric.split(match);ArrayList<String> words = new ArrayList<>();Collections.addAll(words, word);//map演示(顺便演示toList)ArrayList<String> words_lower = new ArrayList<>(words.stream().map(String::toLowerCase).toList());for (String i: words_lower) System.out.print(i+" ");System.out.println();}public static void Demo5() {System.out.println("------Demo5------");ArrayList<String> IV = new ArrayList<>();IV.add("重巡-安克雷奇");IV.add("超巡-埃吉尔");IV.add("航母-白龙");IV.add("航母-奥古斯特·冯·帕塞瓦尔");IV.add("战列-马可·波罗");boolean test;//anyMatch只要有一个匹配,就返回true。形式上接近lambdaSystem.out.println("--anyMatch--");test = IV.stream().anyMatch(element -> element.contains("驱逐"));System.out.println(test);test = IV.stream().anyMatch(element -> element.contains("战列"));System.out.println(test);//allMatch返回true当且仅当所有元素都为真System.out.println("--allMatch--");test = IV.stream().allMatch(element -> element.startsWith("航母"));System.out.println(test);test = IV.stream().allMatch(element -> element.length()>0);System.out.println(test);//noneMatch返回true当且仅当所有元素都为假System.out.println("--noneMatch--");test = IV.stream().noneMatch(element -> element.contains("巡"));System.out.println(test);test = IV.stream().noneMatch(element -> element.contains("鹭"));System.out.println(test);}public static void Demo6() {System.out.println("------Demo6------");ArrayList<Integer> list = new ArrayList<>();list.add(0); list.add(1); list.add(2); list.add(3);//没有起始值时,返回值是一个Optional。建议两段代码对比着看。Optional<Integer> k = list.stream().reduce((x, y) -> x+y);System.out.println(k);k = list.stream().reduce(Integer::sum); //类名::方法名System.out.println(k.orElse(0));//有起始值时,返回值的类型和起始值保持一致。int m = list.stream().reduce(6,(x,y) -> x+y);System.out.println(m);m = list.stream().reduce(6, Integer::sum);System.out.println(m);}public static void Demo7() {System.out.println("------Demo7------");String lyric = "coUlD You FINd     a wAY TO LEt me doWn SlOwLy?";String match = "[^a-zA-Z]+";String[] word = lyric.split(match);List<String> words = new ArrayList<>();Collections.addAll(words, word);List<String> words_lower;words_lower = words.stream().map(String::toLowerCase).collect(Collectors.toList());for (String i: words_lower) System.out.print(i+" ");System.out.println();}public static void main(String[] args) {//stream的建立Demo1();//stream的建立,只是换成了集合Demo2();//forEach和过滤Demo3();//mapDemo4();//匹配Demo5();//组合Demo6();//转换和collectDemo7();}
}

Java期末重点复习 | 文本版相关推荐

  1. JAVA习题大全之java期末考试复习预测题一

    JAVA习题大全 目录 JAVA习题大全 java期末考试复习预测题A java期末考试复习预测题B java期末考试复习预测题C java期末考试复习预测题D java期末考试复习预测题E java ...

  2. 计算机操作系统课程期末考试复习文档

    本篇摘自计算机操作系统课程复习文档,感谢文档的整理者,感谢操作系统老师,感谢发我文档的静姐,如有侵权之处,请联系删除. 1.OS定义.基本特征.四大组成部分 操作系统OS:操作系统是一组能有效组织和管 ...

  3. 大工分布式数据库期末重点总结 ---文末附部份考题

    分布式数据库期末重点 第一章: 1.2分布式数据库系统有几种分类方法?这些方法分别是如何分类的? 1.3什么是分布式数据库系统?它具有哪些特点?怎样区别分布式数据库系统与只提供远程数据访问功能的网络数 ...

  4. 计算机操作系统稳定性的因素有哪些,计算机操作系统期末重点复习汇编.docx

    操作系统 .复习重点和要求 第1章操作系统概述 考核学生对操作系统的定义.主要功能.主要类型.操作系统的特征以及分时概念等内 容的学习情况. [掌握] 操作系统的概念 操作系统是控制和管理计算机系统内 ...

  5. 大学管理学期末重点复习

    复习纲要 名词解释 ​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) 2.明茨伯格管理角色理论:三类10种 (1)人际角色:代表人.领导者.联络者 (2)信息角色:监督者.传播者.发言者 ...

  6. 软件工程-理论与实践(第3版)期末重点复习

    无需积分下载:软件工程复习PDF文件下载

  7. 《软件工程》期末重点复习笔记

    整理不容易,求点赞关注~ 第一章 软件工程概论 1.软件的特性:(复杂性.不可见性.易变性.服从性.非连续性) 2.软件工程的定义:(把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程 ...

  8. Java期末考试复习知识点总结

    1 String s="aaa"; s.concat("bbb"); 字符串的连接,返回一个连接完的新的字符串 2 BufferedReader is =new ...

  9. java期末考试复习题_JAVA期末考试复习试题

    JAVA期末考试复习试题 1.使用Java语言编写的源程序保存时的文件扩展名是( ). (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a> ...

  10. 华南农业大学java_华南农业大学 JAVA期末试卷及最新考试复习重点.doc

    华南农业大学 JAVA期末试卷及最新考试复习重点 考试题型 分为四种: 1.单选题 每小题2分,20个小题共40分 2.判断题 每小题1分,10个小题共10分 3.阅读程序写结果 每小题5分,4小题共 ...

最新文章

  1. NVIDIA Jetson 系列产品开发相关文档,TAO、TLT、NGC
  2. sublime 3114注册码
  3. 看来Kubernetes将一统天下?Docker也无法幸免
  4. python处理netcdf_在python中高效读取netcdf变量
  5. Hystrix 简介和使用
  6. iOS Mach异常和signal信号
  7. 15个最佳的 JavaScript 表单验证库
  8. purrr 0.2.0
  9. 在 Linux 中安装 VMware Tools
  10. VMware安装Linux系统
  11. c语言程序设计与算法,程序设计与算法(一)C语言程序设计
  12. 计算一条3d空间直线和一个3d空间平面的交点
  13. 基于热传导方程的高温作业专用服装设计(三)
  14. 报错error C3872: '0x3000': this character is not allowed in an identifier
  15. 数独基本规则_数独游戏的入门规则
  16. 【翻译】HCP: A Flexible CNN Framework for Multi-Label Image Classification
  17. 统计学——线性回归公式推导
  18. GR技术介绍-ielab
  19. centos 怎么退出init 3_CentOS 7.3:LAMP 动静分离部署
  20. 解决 uni-app 使用 Painter 生成商品海报真机模糊问题

热门文章

  1. 一文搞懂Object.create()、new Object()和{}创建对象的区别
  2. 趣开门APP、微信开门小程序,让开门更简单,更有趣!
  3. 电脑硬盘怎么分区?C盘/D盘/E盘......快来创建自己的DIY磁盘吧!
  4. Json文件格式化方法
  5. 抖音怎么去除水印方法及小工具
  6. 有监督学习和无监督学习的异同
  7. 《晨间日记的奇迹》内容概要及读书心得
  8. cocos creator制作微信小游戏
  9. spurious wakeup -- 多线程之虚假唤醒
  10. 丁昊 北大计算机,北大、清华共17人!2018自主招生等类型入选名单公示,苏州333人!...