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(集合):

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

4.创建比较

//List
List<String> list = new ArrayList<>();
//二维数组
List<List<Integer>> result = new ArrayList<>();

//二维数组添加元素
result.add(Arrays.asList(nums[i], nums[left], nums[right]))


//LinkedList
LinkedList<String> list = new LinkedList<>();

//Set
Set<String> set = new TreeSet<>();
//TreeSet
TreeSet<Integer> ts = new TreeSet<Integer>();
//HashSet
HashSet<String> set = new HashSet<String>();

//Map
Map<String,String> map = new HashMap<String,String>();
//HashMap
HashMap<Student, String> hm = new HashMap<Student, String>()
//TreeMap
TreeMap<Student,String> tm = new TreeMap<>();

5.遍历比较

List
普通for循环
//size方法跟get方法还有循环结合的方式,利用索引获取到集合中的每一个元素
for (int i = 0; i < list.size(); i++) { 
         String s = list.get(i);
         System.out.println(s);
        }

Set
//Set集合是没有索引的,所以不能使用通过索引获取元素的方法
不能用for (int i = 0; i < set.size(); i++) {
//            
//        }

        for (String s : set) {
            System.out.println(s);
        }


TreeSet
        for(Integer i : ts) {
            System.out.println(i);
        }

HashSet
        for(String s : set) {
            System.out.println(s);
        }


Map
方法一:
        //获取所有键的集合。用keySet()方法实现
        Set<String> keySet = map.keySet();
        //遍历键的集合,获取到每一个键。用增强for实现
        for (String key : keySet) {
            //根据键去找值。用get(Object key)方法实现
            String value = map.get(key);
            System.out.println(key + "," + value);
        }

方法二:
        //获取所有键值对对象的集合
        Set<Map.Entry<String, String>> entrySet = map.entrySet();
        //遍历键值对对象的集合,得到每一个键值对对象
        for (Map.Entry<String, String> me : entrySet) {
            //根据键值对对象获取键和值
            String key = me.getKey();
            String value = me.getValue();
            System.out.println(key + "," + value);
        }

HashMap
        //遍历集合
        Set<Student> keySet = hm.keySet();
        for (Student key : keySet) {
            String value = hm.get(key);
            System.out.println(key.getName() + "," + key.getAge() + "," + value);
        }




6.字符串操作

6.类型转换

万能法则

import java.util.Scanner;

public class myScanner {
    Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
        int a=1;
        String b;
        char c;

        b=String.valueOf(a);//int转字符串
        a=Integer.valueOf(b);//字符串转int
        c=b.charAt(0);//字符串转字符
        b=String.valueOf(c);//字符转字符串
        
//字符和int的转换 只需要用过字符串即可。
        
        
    }
}

6.1数字、字符串相互转换

// 数字转字符串 method1
		int number = 5;
		String str = String.valueOf(number);
		System.out.println(str);

// 数字转字符串 method2
		int number = 5;
		Integer itr = number;  //int装箱为对象,再调用对象的toString方法
		String str = itr.toString(); //或者直接 String str = Integer.toString(number);
		System.out.println(str);

// 数字转字符串 method3
		int number = 5;
		String str = number + "";
		System.out.println(str);
// 字符串转数字
		String str = "123";
		int number = Integer.parseInt(str);		
		System.out.println(number);

6.2 字符、字符串相互转换

//字符转字符串 method 1
		char ch = '5';
		String str = String.valueOf(ch);
		System.out.println(str);

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

6.3 数字、字符相互转换

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


6.4 字符数组转字符串

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

Guess you like

Origin blog.csdn.net/qq_45874683/article/details/132759450