1.java中冒号(:)的用法
一
String[] abc = new String[3]{"a","b","c"};
for (String str : abc){
System.out.println(str);
}
二、三元运算符boolean?true的内容:false的内容
int a=1;
int b=3;
int i = a>b?3:1;
三、跳转标记
outer:for(int i=0;i<5;i++){
for(int i=0;i<5;i++){
if(i==3){
continue outer;
}
}
}
四、switch选择
switch(i){
case 1:oprate....;break;
case 2:oprate....;break;
case 3:oprate....;break;
default:break;
}
2.Java HashMap containsKey() 方法
Java HashMap Java HashMap
containsKey() 方法检查 hashMap 中是否存在指定的 key 对应的映射关系。
containsKey() 方法的语法为:
hashmap.containsKey(Object key) 注:hashmap 是 HashMap 类的一个对象。
参数说明:
key - 键 返回值 如果 hashMap 中存在指定的 key 对应的映射关系返回 true,否则返回 false。
import java.util.HashMap;
class Main {
public static void main(String[] args) {
HashMap<Integer, String> sites = new HashMap<>();
sites.put(1, "Google");
sites.put(2, "Runoob");
sites.put(3, "Taobao");
System.out.println("sites HashMap: " + sites);
if(sites.containsKey(1)) {
System.out.println("key 为 1 存在于 sites 中");
}
}
}
输出结果为
sites HashMap: {1=Google, 2=Runoob, 3=Taobao}
key 为 1 存在于 sites 中
对于不存在的,我们可以执行插入操作。
import java.util.HashMap;
class Main {
public static void main(String[] args) {
HashMap<Integer, String> sites = new HashMap<>();
sites.put(1, "Google");
sites.put(2, "Runoob");
sites.put(3, "Taobao");
System.out.println("sites HashMap: " + sites);
if(!sites.containsKey(4)) {
sites.put(4, "Wiki");
}
System.out.println("Updated sites HashMap: " + sites);
}
}
执行以上程序输出结果为:
sites HashMap: {1=Google, 2=Runoob, 3=Taobao}
Updated sites HashMap: {1=Google, 2=Runoob, 3=Taobao, 4=Wiki}
3.蓝桥杯2019 java B组 G-外卖优先级
//(1)“饱了么”外卖系统中维护着 N 家外卖店,编号 1 ~ N。每家店都优先级(0 时刻) 优先级为 0。 //(2)经过 1 个时间单位 //–没有订单,则优先级会减少 1,最低减到 0 //–而如果外卖店有订单,则优先级不减反加,每有一单优先级加 2。 //(3)外卖店某时刻优先级>5,则会被系统加入优先缓存中;如果优先级<=3,则会被清除出优先缓存。 //(4)问:给定 T 时刻以内的 M 条订单信息,请你计算 T 时刻时有多少外卖店在优先缓存中。 //(5)输入输出 //–第一行包含 3 个整数 N、M 和 T。 //–M行每行包含两个整数 ts 和 id,表示 ts 时刻编号 id 的外卖店收到 一个订单。 //2 6 6 //1 1 //5 2 //3 1 //6 2 //2 1 //6 2
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class G外卖优先级 {
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
int M=sc.nextInt();
int T=sc.nextInt();
int[][] orders = new int[M][2];
for (int i = 0; i < M; i++) {
for (int j = 0; j < 2; j++) {
orders[i][j] = sc.nextInt();
}
}
Arrays.sort(orders, (a, b) -> {
return a[0] - b[0];
});
Map<Integer, Integer> map = new HashMap<>();
int[] priors = new int[N];
int[] sign = new int[N];
System.out.println("test");
for (int i = 1; i <= T; i++) {
for (int[] order : orders) {
int time = order[0];
int num = order[1];
if (time == i) {
priors[num - 1] += 2;
if (priors[num - 1] > 5 && !map.containsKey(num - 1)) {
map.put(num - 1, priors[num - 1]);
}
sign[num - 1] = 1;
}
}
for (int j = 0; j < N; j++) {
if (sign[j] == 0 && priors[j] > 0) {
priors[j]--;
if (priors[j] <= 3 && map.containsKey(j)) {
map.remove(j);
}
}
}
sign = new int[N];
}
System.out.println(map.size());
}
}
}
|