6、常用API(String和ArrayList)

44 阅读3分钟

常用API(String和ArrayList)

import和package

什么是包?

是来分门别类的管理程序的

怎么建包:package 包名 idea中在建类的时候会自动生成

怎么导包:import

如果使用两个包下的相同的类名,就需要用包名.类

String
    public static void main(String[] args) {
        // 新建字符串
//        String s1 = "123";
//        String s2 = new String();
//        String s3 = new String("123");
//        char[] ch = {'A','b','v'};
//        String s4 = new String(ch);
//        byte[] b = {97,98,99,65,66,67};
//        String s5 = new String(b);

        // 显示字符串长度length()
//        String s1 = "123aeadasx";
//        System.out.println(s1.length());

        // 获取字符串指定位置的字符charAt()
//        String str = "1241asda";
//        char ch = str.charAt(5);
//        System.out.println(ch);

        // 把字符串转成字符数组 toCharArray()
//        String str = "123aead";
//        char[] ch = str.toCharArray();
//        System.out.println(Arrays.toString(ch));

        // 判断当前字符串是否与其他字符串内容一致equals
//        String str = "123qwe";
//        String str2 = new String("123qwe");
//        System.out.println(str.equals(str2));
//        System.out.println(str == str2); //这个比较的是地址

        // 判断当前字符串是否与其他字符串内容一致(忽略大小写)equalsIgnoreCase
//        String str1 = "ABCDabcd";
//        String str2 = "abcdAbcd";
//        System.out.println(str1.equals(str2));
//        System.out.println(str1.equalsIgnoreCase(str2));

        // 截取字符串的一部分 substring
//        String str = "123qeasd";
//        System.out.println(str.substring(2,6));
//        System.out.println(str.substring(6));

        // 使用新值替换字符串中的部分字符 replace
//        String str = "123aseqweasd";
//        String newStr = str.replace("123","456").replace("d","DD");
//        System.out.println(newStr);

        // 判断字符串中是否包含  contains
//        String str = "xkxxxxyyds";
//        System.out.println(str.contains("xk"));
//        System.out.println(str.contains("xxk"));

        // 判断字符串是否以某个字符串为开头 startsWith
//        String str = "xxkkxxkyyds";
//        System.out.println(str.startsWith("xx"));
//        System.out.println(str.startsWith("xk"));

        // 判断字符串是否是以某个字符串结尾 endsWith
//        String str = "xxkkxxkyyds";
//        System.out.println(str.startsWith("yyds"));
//        System.out.println(str.startsWith("xk"));


        // 把字符串按照某个字符串内容分割并返回字符串数组 split
//        String str = "xk,x;xk,x;xxk,x;kk,xkkk";
//        String[] arr = str.split(",");
//        String[] arr2 = str.split("[,;]");
//        System.out.println(Arrays.toString(arr));
//        System.out.println(Arrays.toString(arr2));

    }

String的注意事项

  • 通过String str = "123";此种方式创建的字符串对象会被放到 **字符串常量池(在堆内存里面)**中;与其他通过同种方式("123")创建出来的字符串可以使用==判断相等。
  • 通过String str = new String();此种方式创建的字符串对象会被放到堆内存中;与String str = "123";不相等;
  • 通过双引号创建出来的变量在经过运算后对象会被放到 堆内存
  • 通过String str = "123"+"b"+"c";此种方式创建的字符串对象会被放到 **字符串常量池(在堆内存里面)**中;(为了节约内存)
ArrayList
    public static void main(String[] args) {
        // ArrayList的声明
        ArrayList<String> arrayList = new ArrayList<String>();

        // 新增到集合末尾
        arrayList.add("123");
        arrayList.add("xkk");
        arrayList.add("yuu");
        arrayList.add("zxy");
        arrayList.add("zxy");
        System.out.println(arrayList);

        // 插入到指定索引位置
        arrayList.add(2,"gfs");
        System.out.println(arrayList);

        // 查询(根据目标索引值返回对应字符串)
        System.out.println(arrayList.get(1));
        System.out.println(arrayList.get(4));

        // 修改目标索引的值,并返回当前的值
        System.out.println(arrayList.set(2, "nihao"));
        System.out.println(arrayList.get(2));

        // 查看arrayList中元素的个数
        System.out.println(arrayList.size());

        // 删除索引位置的值 返回删除的值
        System.out.println(arrayList);
        System.out.println(arrayList.remove(1));
        System.out.println(arrayList);

        // 根据字符串删除元素(只会删除第一个找到的元素),返回是否删除成功
        System.out.println(arrayList);
        System.out.println(arrayList.remove("zxy"));
        System.out.println(arrayList);
    }

注意:ArrayList也会发生索引越界异常