
Java 学习
BlueStragglers
个人网站:www.bluestragglers.com
展开
-
JUC 学习笔记
JUC 是 java.util.concurrent 工具包的简称,是一个处理线程的工具包。JUC 相关内容是 Java 学习和面试的重点,需要重点掌握原创 2023-06-02 14:30:29 · 1208 阅读 · 0 评论 -
每日一个 Java 知识点:如何区分 `>>` 和 `>>>` 运算符?
BlueStragglers 每日一个 Java 知识点集合>> 算数右移:舍弃最低位,最高位用符号填补。>>> 逻辑右移:舍弃最低位,最高位用 0 填补。在部分移除最低位 1 的运算中,不能用 >>,而应该用 >>>。否则会出现死循环。...原创 2021-06-16 10:50:16 · 499 阅读 · 0 评论 -
每日一个 Java 知识点:如何实现 Collections 的内部转换
BlueStragglers 每日一个 Java 知识点集合Collections 内部转换,可以直接用相应的 new 方法进行转换。如 setA 转换为 arrayListB,可以用下面的方法。List arrayListB = new ArrayList<>(setA);原创 2021-06-16 10:49:00 · 106 阅读 · 0 评论 -
每日一个 Java 知识点:如何获取 arrayA 的最大值和总和?
BlueStragglers 每日一个 Java 知识点集合可以利用 Java8 的新方法:Arrays.stream。获取最大值:max().getAsInt()。获取总和:sum()。max = Arrays.stream(arrayA).max().getAsInt();sum = Arrays.stream(arrayA).sum();原创 2021-06-16 10:47:49 · 233 阅读 · 0 评论 -
每日一个 Java 知识点:如何取整?
BlueStragglers 每日一个 Java 知识点集合可以利用 (int) 进行强制类型转换。Java 的强制类型转换就是舍去小数点后面的内容,也就是保留整数。也可以用 Math 对应函数。包括 Math.floor(), Math.ceil 和 Math.round()。 a = Math.floor(f) b = Math.ceil(f) c = Math.round(f)...原创 2021-06-16 10:46:21 · 144 阅读 · 0 评论 -
每日一个 Java 知识点:如何获取输入?
BlueStragglers 每日一个 Java 知识点集合这里的知识点包括:有三种方法:in/out 方法、替换系统流方法、Scanner 方法。in/out 方法:只能获取一个 char 类型的。System.out.print("Enter a Character");char charA = (char)System.in.read();替换系统流方法:需要 InputStreamReader 和 BufferedReader 配合使用。import java.i原创 2021-06-16 10:44:34 · 122 阅读 · 0 评论 -
每日一个 Java 知识点:如何初始化获取 hashMapA?
BlueStragglers 每日一个 Java 知识点集合可以通过 new HashMap<>() {{ put() }} ,实现 hashMapA 的初始化。Map<Character, Integer> hashMapA = new HashMap<>() {{ put('I', 1); put('V', 5); put('X', 10); put('L', 50); put('C'原创 2021-06-16 10:43:46 · 102 阅读 · 0 评论 -
每日一个 Java 知识点:如何对两个数 num1 和 num2 的每一位进行比较?
BlueStragglers 每日一个 Java 知识点集合可以首先异或操作,然后通过位移和与操作判断对应位是否相等。int res = 0, val = x ^ y;while (val != 0) { res += val & 1; val >>= 1;}return res;原创 2021-06-16 10:40:21 · 288 阅读 · 0 评论 -
每日一个 Java 知识点:如何将普通数组 arraysA 转换为包装类数组 arraysB?
BlueStragglers 每日一个 Java 知识点集合许多操作是只适用于包装类的,例如逆序排序,转换为集合类等等。因此,普通数组 arraysA 转换为包装类数组 arraysB 是十分重要的。可以用如下操作进行转换:int[] arraysA = new int[]{1, 2, 3};Integer[] arraysB = Arrays.stream(arraysA).boxed().toArray(Integer[]::new);...原创 2021-06-16 10:37:42 · 390 阅读 · 0 评论 -
Java 如何用 PriorityQueue 实现大根堆?
如何用 PriorityQueue 实现大根堆 queueA?这里的知识点包括:PriorityQueue 默认是小根堆,大根堆需要重写比较器。可以在 new PriorityQueue<>() 中的参数部分加入比较器。具体写法是:(v1, v2) -> v2 - v1。Queue 类的输入是 offer() 方法,弹出是 poll() 方法。Queue<Integer> queueA = new PriorityQueue<>((v1, v2) -原创 2021-03-20 16:16:05 · 1661 阅读 · 0 评论 -
Java 根据 listA 快速构建 listB
Java 如何根据 listA 快速构建 listB?这里的知识点包括:Arrays.copyOf() 方法可以从现有数组中选择一部分,构建新数组。第二个参数为数组长度。int[] listB = Arrays.copyOf(listA, k);原创 2021-03-20 16:15:03 · 305 阅读 · 0 评论 -
Java 如何区分 length, length() 和 size()?
Java 如何区分 length, length() 和 size()?这里的知识点包括:length 是 Array 类的属性。length() 是 String 类的方法。size() 是 Collections 类的方法。int lengthA = listA.length;int lengthB = stringB.length();int lengthC = arrayListC.size();...原创 2021-03-20 16:13:59 · 106 阅读 · 0 评论 -
Java 处理 String 内的字符
如何方便处理字符串 stringA 内字符?这里的知识点包括:可以上来就将 stringA 转换为字符数组。String.toCharArray() 方法可以将字符串转换为字符数组。Character.isLetter() 方法可以判断指定字符是否为字母。类似的,Character.isDigit() 方法可以判断指定字符是否为数字。char[] charListB = stringA.toCharArray();char charC = stringA.charAt(0);boolea原创 2021-03-20 16:13:11 · 97 阅读 · 0 评论 -
Java 正序、逆序排序
Java 如何正序、逆序排序?这里的知识点包括:Collections.sort() 方法提供集合类正序排序。Collections,reverse() 方法可以将排序好的集合类进行逆序。如果嫌两句话麻烦,也可以在 Collections.sort() 方法的第二个参数写上 Collections.reverseOrder()。Arrays.sort() 方法提供数组正序排序。Arrays.sort() 方法的第二个参数可以提供 Collections.reverseOrder(),实现逆序排原创 2021-03-20 16:10:00 · 1783 阅读 · 0 评论 -
Java 遍历 HashMap
如何遍历 hashMapA?这里的知识点包括:HashMap.Entry<A, B> entryB 可以构建迭代器元素 entryB。HashMap.entrySet() 方法可以提供迭代遍历。entry.getKey(),entry.getValue() 方法可以获取键和值。for (HashMap.Entry<Integer, String> entryB : hashMapA.entrySet()) { if (entryB.getKey() == C &原创 2021-03-20 16:08:34 · 86 阅读 · 0 评论 -
Java 求数组内的最小值
Java 如何求数组内的最小值这里的知识点包括:List 没有直接对应的 min,需要先转换为 ArrayList。Collections.min() 可以获取最小值。List 转换为 ArrayList,需要先 new 一个新的 ArrayList。Arrays.asList() 可以配合 ArrayList() 方法,将 List 转换为 ArrayList。ArrayList<Integer> arrayListB = new ArrayList<>(Array原创 2021-03-20 16:07:41 · 965 阅读 · 0 评论 -
Java 判断 int 在不在 list 内
如何判断 intA 在不在 listB 数组内?这里的知识点包括:List.indexOf() 方法可以用于判断数是不是在 List 对象内。如果结果为 -1,说明 intA 不在 listB 数组内。否则在数组内。listB.indexOf(intA) != -1;...原创 2021-03-20 16:06:47 · 2491 阅读 · 0 评论 -
Java 判断 StringA 是不是 StringB 的子串
如何判断 stringA 是不是 stringB 的子串?这里的知识点包括:String.contains() 方法可以直接用于判断 String 对象是否为子串。StringA.contains(stringB) == true;原创 2021-03-20 16:04:49 · 879 阅读 · 0 评论