By GokiSoft.com|
19:46 24/07/2021|
Java Basic
[Share Code] Tìm hiểu cú pháp lambda - Regular Express trong Java - Khóa học Java - C2010L
#Test.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lesson08;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* @author Diep.Tran
*/
public class Test {
public static void main(String[] args) {
//Regular Express
//Vi du: Co 1 chuoi dau vao str ->
//kiem tra xem str co chua 1 chuoi nao do sinh theo quy luot
//nhu sau ko: aabc (a:a-z -> gom 2->4 ky tu, b: 0->9 gom 3-5 ky tu
//c: A-Z gom 1-5 ky tu
String str = "xin chao abdc123AK ok acbc123AKH asdasd";
//Goc nhin: abdc123AK, acbc123AKH
String exp = "[a-z]{2,4}[a-z]{2,4}[0-9]{3,5}[A-Z]{1,5}";
Pattern p = Pattern.compile(exp);
Matcher matcher = p.matcher(str);
//Kiem tra co xuat hien chuoi con nao phu hop ko
// if(matcher.find()) {
// System.out.println("Tim thay ...");
// } else {
// System.out.println("Ko tim thay");
// }
//Thuc hien in tat ca chuoi con tim thay
System.out.println("Danh sach chuoi con tim thay: ");
while(matcher.find()) {
// int start = matcher.start();
// int end = matcher.end();
System.out.println(matcher.group());
// String sub = str.substring(start, end);
// System.out.println(sub);
}
}
}
#Main.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lesson08;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
/**
* Ghi that nhieu chu thich java -> compile -> jar -> JVM -> binary -> running.
* @author Diep.Tran
*/
public class Main {
@FunctionalInterface
interface IRunning {
void onRunning();
}
@FunctionalInterface
interface IRunning3 {
void onRunning(String r1, String r2);
}
@FunctionalInterface
interface IRunning4 {
void onRunning(String r);
}
interface IRunning2 {
void onRunning();
void onRunning2();
}
static class Running implements IRunning {
@Override
public void onRunning() {
System.out.println("Test ... running ...");
}
}
public static void main(String[] args) {
//For
ArrayList<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
list.forEach(v -> {
System.out.println(v);
});
//Test stream
System.out.println("Stream ...");
Stream s1 = list.stream();
s1.forEach(System.out::println);
System.out.println("ParallelStream ...");
Stream s2 = list.parallelStream();
s2.forEach(System.out::println);
//Tim hieu ky hon ve cu phap lambda
Running r = new Running();
r.onRunning();
//Chu y: Trong TH -> class Running -> ko duoc tai su dung nhieu lan
//Class NO NAME -> inner.
IRunning r1 = new IRunning() {
@Override
public void onRunning() {
System.out.println("Test ... running 2 ...");
}
};
r1.onRunning();
//Cu phap lambda
IRunning r2 = () -> {
System.out.println("Test ... running 2 ...");
};
r2.onRunning();
//Viet rut gon hon
r2 = () -> System.out.println("Test ... running 2 ...");
r2.onRunning();
//Khong the rut gon hon nua trong TH sau
r2 = () -> {
System.out.println("Test ... running 2 ...");
System.out.println("Test ... running 2 ...");
System.out.println("Test ... running 2 ...");
};
r2.onRunning();
//TH nay ko the su dung dc cu phap lambda
IRunning2 r22 = new IRunning2() {
@Override
public void onRunning() {
System.out.println("Test running 1 ...");
}
@Override
public void onRunning2() {
System.out.println("Test running 2 ...");
}
};
r22.onRunning();
r22.onRunning2();
//TH -> Interface -> 1 phuong co tham so thi code nhu the nao
IRunning3 r33 = new IRunning3() {
@Override
public void onRunning(String r1, String r2) {
System.out.println("Test running 33 ... " + r1 + ", " + r2);
}
};
r33.onRunning("1", "2");
r33 = (String r3, String r4) -> {
System.out.println("Test running 33 ... " + r3 + ", " + r4);
};
r33.onRunning("1", "2");
r33 = (String r3, String r4) -> System.out.println("Test running 33 ... " + r3 + ", " + r4);
r33.onRunning("1", "2");
r33 = (r3, r4) -> System.out.println("Test running 33 ... " + r3 + ", " + r4);
r33.onRunning("1", "2");
IRunning4 r44 = r3 -> System.out.println("OKOK");
}
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)