- 在线 oj 输入
1 | import java.util.Scanner; |
更具体一点的:https://blog.csdn.net/da_kao_la/article/details/80225003?utm_source=blogxgwz2
- 数组都是arr.length,字符串是str.length(),列表是list.size()
- 字符串 ——> 数组,可以有 str.toCharArray(),然后数组 —–> 字符串 是 new String(arr),注意如果想要直接打印数组内容则是 Arrays.toString(arr),打印多维数组是 Arrays.deeptoString()
- String 不能直接变化,但是可以用StringBuilder
1 | StringBuilder sb = new StringBuilder(str); |
如:数组int[]用Integer[],double[]用Double[] ,因为List集合是对象的集合,而int、double等不是对象,所以需要用字段的对应对象类
- 数组直接转成列表
1 | // 注意这里必须是 Integer对象的数组,否则转不了 |
1 | // 好像也可以,但是跟上面一样,得是 String、Integer类型的数组 |
如果是int,需要装箱再转才可以
1 | int[] a = {1,2,3,4}; |
- 列表转数组
采用集合的toArray()方法直接把List集合转换成数组,这里需要注意,不能这样写:
1 | String[] array = (String[]) mlist.toArray(); |
这样写的话,编译运行时会报类型无法转换java.lang.ClassCastException的错误,这是为何呢,这样写看起来没有问题啊
因为java中的强制类型转换是针对单个对象才有效果的,而List是多对象的集合,所以将整个List强制转换是不行的 。正确的写法应该是这样的:
1 | String[] array = mlist.toArray(new String[0]); |
1 | List<int[]> res = new ArrayList(); |
1 | List<Integer> res = new ArrayList(); |
- 哈希表中统计数出现的次数
1 | class Solution { |
- 对哈希map中的 value 值升序排列
1 | List<Map.Entry<Integer, Integer>> list = new ArrayList<Map.Entry<Integer, Integer>>(hashMap.entrySet()); |
- 数字转字符,字符转数字
1 | // 数字转字符 方式一 |