基础练习
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.function.Function;
import java.util.function.IntBinaryOperator;
import java.util.function.IntConsumer;
import java.util.function.IntPredicate;
import java.lang.Integer;
public class Solution {
public static void foreachArr(IntConsumer consumer){
int[] arr = {1,2,3,4,5,6,7,8,9,10};
for (int i : arr) {
consumer.accept(i);
}
}
public static <R> R typeConver(Function<String,R> function){
String str = "1235";
R result = function.apply(str);
System.out.println(result);
return result;
}
public static void printNum2(IntPredicate predicate,IntPredicate predicate2){
int[] arr = {1,2,3,4,5,6,7,8,9,10};
for (int i : arr) {
if(predicate.and(predicate2).test(i)){
System.out.println(i);
}
}
}
public static void printNum(IntPredicate predicate){
int[] arr = {1,2,3,4,5,6,7,8,9,10};
for (int i : arr) {
if(predicate.test(i)){
System.out.println(i);
}
}
}
public static int calculateNum(IntBinaryOperator operator){
int a = 10;
int b = 20;
return operator.applyAsInt(a, b);
}
public static void main(String[] args) {
Solution.foreachArr((val)->System.out.println(val+"个"));
}
}
应用:TreeSet中用Comparator给Set排序
import java.util.*;
import java.util.function.BiConsumer;
public class Solution {
public int[] topKFrequent(int[] nums, int k) {
HashMap<Integer, Integer> hashMap = new HashMap<>();
for (int val : nums) {
hashMap.merge(val, 1, Integer::sum);
}
int topFre1 = 0, topFre2 = 1;
Set<Map.Entry<Integer, Integer>> entries = hashMap.entrySet();
TreeSet<Map.Entry<Integer, Integer>> entries1=new TreeSet<>((o1, o2) ->
{
int tem = o2.getValue()-o1.getValue();
return tem==0?1:tem;
});
entries1.addAll(entries);
int[] res=new int[k];
Iterator<Map.Entry<Integer,Integer>> it= entries1.iterator();
for(int i=0;i<k;i++)
{
res[i]=it.next().getKey();
}
return res;
}
public static void main(String[] args) {
int[] nums = {1,2};
int k = 2;
Solution solution = new Solution();
System.out.println(Arrays.toString(solution.topKFrequent(nums, k)));
}
}