java 常用方法和命令

1. 去除字符串中的其他符号,只保留数字、字母

		str = str.replaceAll("[^a-z^A-Z^0-9]", "");

2. 获取字符串中的每一个字符

String x = "leetcode";
        for (int i = 0; i < x.length() ; i++) {
            System.out.println(x.charAt(i));
        }

3. int[ ] 转成对应的 list 列表(这样就可以进行索引了)

int[]nums = new int [5];
List<Integer> list = Arrays.stream(nums).boxed().collect(Collectors.toList());

4. 列表 list 转成 int[ ] :直接循环遍历即可

for (int i = 0; i < list.size() ; i++) {
            nums[i] = list.get(i);
        }

5. 删除数组 array 中所有的 null 项

while (arr.remove(null));

6. 数字的字符串类型转 int 类型

ArrayList<String> arr = new ArrayList<>();
arr.add("1");
System.out.println(Integer.parseInt(arr.get(0)));

7. 判断两个字符串相等的方式

String x = "leetcode";
        String y = "dsfag";
        
        System.out.println(x.equals(y));
        System.out.println(Objects.equals(x,y));

8.

9. Linkedlist 和 Arraylist 的不同

LinkedeList和ArrayList的区别

1、数据结构不同

ArrayList是Array(动态数组)的数据结构,LinkedList是Link(链表)的数据结构。

2、效率不同

当随机访问List(get和set操作)时,ArrayList比LinkedList的效率更高,因为LinkedList是线性的数据存储方式,所以需要移动指针从前往后依次查找。

当对数据进行增加和删除的操作(add和remove操作)时,LinkedList比ArrayList的效率更高,因为ArrayList是数组,所以在其中进行增删操作时,会对操作点之后所有数据的下标索引造成影响,需要进行数据的移动。

3、自由性不同

ArrayList自由性较低,因为它需要手动的设置固定大小的容量,但是它的使用比较方便,只需要创建,然后添加数据,通过调用下标进行使用;而LinkedList自由性较高,能够动态的随数据量的变化而变化,但是它不便于使用。

4、主要控件开销不同

ArrayList主要控件开销在于需要在lList列表预留一定空间;而LinkList主要控件开销在于需要存储结点信息以及结点指针信息。

10. 初始化 list 的五种方法

int[] intArray = new int[]{1, 2, 3};
Integer[] integerArray = new Integer[]{1, 2, 3};
 
List<int[] > intArrayList = Arrays.asList(intArray);
List<Integer> integerList = Arrays.asList(integerArray);
List<Integer> integerList2 = Arrays.asList(1, 2, 3);

11.获取变量类型

ArrayList<Object> arr = new ArrayList<>();
arr.get(0).getClass().toString()

12. 将 Character 型转换为 int 型

char i = '1';
int x = Integer.parseInt(i+"");
System.out.println(x);

这里加 " " 的原因,是 Integer.parseInt() 只能转换字符串类型,所以要把这个字符转化成字符串的形式

13. 创建一个只包含 26个小写字母的 Hashmap

HashMap <Object,Integer> map = new HashMap<>();

        char start = 'a';
        char end = 'z';
        int value = 0;
        while(start<=end){
            map.put(start,value);
            start++;
            value++;
        }

14. Hashmap 一个key 中存入多个 value

15. Hashmap 和 map 的区别

  • map 是一个接口
  • hashmap 是 map 接口的实现类

16. HashMap / TreeMap / LinkedHashMap 的区别

  • Hashmap 是散列表
  • Hashmap 最多允许一个 key 为 null,多个 value 为null
  • Hashmap 遍历的时候是完全随机的

  • LinkedHashmap 存储的时候是按照插入的顺序排列的,查找起来比较方便
  • 虽然 Hashmap 的查找速度快一些,但是当 HashMap的容量很大,实际数据很少时使用 Linkedhashmap , 因为HashMap的遍历速度和它的容量有关,而LinkedHashMap只跟实际数据量有关。

  • TreeMap实现SortMap接口,能够将它保存的记录按键排序,默认是按键的升序排列,也可以指定排序的比较器,遍历TreeMap的时候,得到的记录是按照键排过序的。

17. java基本数据类型和封装类的区别

  • 基本数据类型:byte / short / int / long / boolean / float / double / char
  • 封装类:Byte / Short / Integer / Long / Boolean / Float / Double / Character

区别:

  • 基本数据类型是值传递,封装类是引用传递

  • 基本数据类型是存放在栈中的,而封装类是存放于堆中的

  • 基本数据类型初始值如:int=0,而封装类Integer=null

  • 集合中添加的元素一定是封装类引用数据类型

  • 声明基本数据类型不需要实例化可直接赋值,而封装类必须申请一个存储空间实例化才可赋值。

  • 对于基本数据类型,只能进行加减乘除的基本运算,但是封装类却可以像其他方法一样通过创建对象来调用方法,例如 Interger.parseInt()

18. java 的按值调用和按引用调用

按值调用(call by value)表示方法接收的是调用者提供的值,而按引用调用(call by reference)表示方法接收的是调用者提供的变量地址。一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值。 它用来描述各种程序设计语言(不只是 Java)中方法参数传递方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值