• Java面试常用函数


    1. charAt() 方法用于返回字符串指定索引处的字符。索引范围为从 0 到 length() - 1。

    map.getOrDefault(num, 0) :如果map存在num这个key,则返回num对应的value,否则返回0.

     Arrays.sort(nums); 数组排序

    Arrays.asList("a","b","c");;该方法是将数组转化成List集合的方法。

    s.toCharArray();将字符串中的字符转换为字符数组. 

    new String(ch)  将数组转化为字符串。

    str.trim().split(" ");//将字符串先去掉头尾的空格,再按照“ ”分割。

    Arrays.toString(strIn) 数组转字符串

    2. 求字符串长度   s.length();

    求数组长度:s.length;

    集合长度:size()

    3.集合

    1.总体结构:

    接口:Collection/List/Set/Map

    实现类:Arraylist/LinkedList/HashSet/TreeSet/HashMap/TreeMap

    2.Collection 集合

    3.List集合

    • List集合的概述

      • 有序集合,这里的有序指的是存取顺序

      • 用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素

      • 与Set集合不同,列表通常允许重复的元素

    • List集合的特点

      • 存取有序

      • 可以重复

      • 有索引

    List集合的实现类

    • ArrayList集合

      底层是数组结构实现,查询快、增删慢

    • LinkedList集合

      底层是链表结构实现,查询慢、增删快

    • LinkedList集合的特有功能

    3.创建hashset(集合):

    1. Set<Integer> set1 = new HashSet<>()
    2. set1.add(i)//添加元素
    3. if (set1.contains(i)) //判断是否包含i
    4. set.size() #hashset的大小

    4.创建比较

    1. //List
    2. List<String> list = new ArrayList<>();
    3. //二维数组
    4. List<List<Integer>> result = new ArrayList<>();
    5. //二维数组添加元素
    6. result.add(Arrays.asList(nums[i], nums[left], nums[right]))
    7. //LinkedList
    8. LinkedList<String> list = new LinkedList<>();
    9. //Set
    10. Set<String> set = new TreeSet<>();
    11. //TreeSet
    12. TreeSet<Integer> ts = new TreeSet<Integer>();
    13. //HashSet
    14. HashSet<String> set = new HashSet<String>();
    15. //Map
    16. Map<String,String> map = new HashMap<String,String>();
    17. //HashMap
    18. HashMap<Student, String> hm = new HashMap<Student, String>()
    19. //TreeMap
    20. TreeMap<Student,String> tm = new TreeMap<>();

    5.遍历比较

    1. List
    2. 普通for循环
    3. //size方法跟get方法还有循环结合的方式,利用索引获取到集合中的每一个元素
    4. for (int i = 0; i < list.size(); i++) {
    5. String s = list.get(i);
    6. System.out.println(s);
    7. }
    8. Set
    9. //Set集合是没有索引的,所以不能使用通过索引获取元素的方法
    10. 不能用for (int i = 0; i < set.size(); i++) {
    11. //
    12. // }
    13. for (String s : set) {
    14. System.out.println(s);
    15. }
    16. TreeSet
    17. for(Integer i : ts) {
    18. System.out.println(i);
    19. }
    20. HashSet
    21. for(String s : set) {
    22. System.out.println(s);
    23. }
    24. Map
    25. 方法一:
    26. //获取所有键的集合。用keySet()方法实现
    27. Set<String> keySet = map.keySet();
    28. //遍历键的集合,获取到每一个键。用增强for实现
    29. for (String key : keySet) {
    30. //根据键去找值。用get(Object key)方法实现
    31. String value = map.get(key);
    32. System.out.println(key + "," + value);
    33. }
    34. 方法二:
    35. //获取所有键值对对象的集合
    36. Set<Map.Entry<String, String>> entrySet = map.entrySet();
    37. //遍历键值对对象的集合,得到每一个键值对对象
    38. for (Map.Entry<String, String> me : entrySet) {
    39. //根据键值对对象获取键和值
    40. String key = me.getKey();
    41. String value = me.getValue();
    42. System.out.println(key + "," + value);
    43. }
    44. HashMap
    45. //遍历集合
    46. Set<Student> keySet = hm.keySet();
    47. for (Student key : keySet) {
    48. String value = hm.get(key);
    49. System.out.println(key.getName() + "," + key.getAge() + "," + value);
    50. }

    6.字符串操作

    6.类型转换

    万能法则

    1. import java.util.Scanner;
    2. public class myScanner {
    3. Scanner sc = new Scanner(System.in);
    4. public static void main(String[] args) {
    5. int a=1;
    6. String b;
    7. char c;
    8. b=String.valueOf(a);//int转字符串
    9. a=Integer.valueOf(b);//字符串转int
    10. c=b.charAt(0);//字符串转字符
    11. b=String.valueOf(c);//字符转字符串
    12. //字符和int的转换 只需要用过字符串即可。
    13. }
    14. }

    6.1数字、字符串相互转换

    1. // 数字转字符串 method1
    2. int number = 5;
    3. String str = String.valueOf(number);
    4. System.out.println(str);
    5. // 数字转字符串 method2
    6. int number = 5;
    7. Integer itr = number; //int装箱为对象,再调用对象的toString方法
    8. String str = itr.toString(); //或者直接 String str = Integer.toString(number);
    9. System.out.println(str);
    10. // 数字转字符串 method3
    11. int number = 5;
    12. String str = number + "";
    13. System.out.println(str);
    1. // 字符串转数字
    2. String str = "123";
    3. int number = Integer.parseInt(str);
    4. System.out.println(number);

    6.2 字符、字符串相互转换

    1. //字符转字符串 method 1
    2. char ch = '5';
    3. String str = String.valueOf(ch);
    4. System.out.println(str);
    5. //字符转字符串 method 2
    6. char ch = '5';
    7. String str = ch + "";
    8. System.out.println(str);
    1. // 字符串转字符
    2. // 其实这里也算不上转换了,只是获取对应位置上字符
    3. String str = "123";
    4. char ch = str.charAt(0); //这里获取到的字符为1
    5. System.out.println(ch);

    6.3 数字、字符相互转换

    1. // 数字转字符
    2. // 不能直接转换,如下图。因此需借助数字转字符串。
    3. // 首先将数字转为字符串,再获取字符
    4. int number = 5; //注意这里数字只能是个位数并且不能为负
    5. String temp = Integer.toString(number);
    6. char ch = temp.charAt(0);
    7. System.out.println("数字转字符:"+ch);
    1. // 字符转数字
    2. // 先把字符转为字符串,再转换为数字
    3. char ch = '5';
    4. String temp = String.valueOf(ch);
    5. int a = Integer.parseInt(temp);
    6. System.out.println(a);
    7. //或者
    8. int a = ch - '0';


    6.4 字符数组转字符串

    String newStr = new String(charArray, 0, charArray.length);
    

  • 相关阅读:
    虚拟IP技术
    Java之HashMap中putIfAbsent()方法具有什么功能呢?
    【监督学习】套索回归与岭回归(含代码)
    一文搞定 Spring事务
    白盒测试总结
    【Java】一文秒懂http请求获取FlexManager某设备分组监控点
    Linux内核之内存管理分段机制原理与实现(从无到有的过程)
    操作系统【OS】调度算法对比图
    【代码随想录】算法训练营 第十一天 第五章 栈与队列 Part 2
    Ribbon 负载均衡原理和策略
  • 原文地址:https://blog.csdn.net/qq_45874683/article/details/132759450