11.2 Java Arraylist和部分String类方法的练习

一.Arraylist

Arraylist是Java集合框架的重要类,它继承于AbstractList,实现了List接口,是一个长度可变的集合,提供了增删改查的功能。

ArrayList的底层是基于数组来实现容量大小动态变化的。与普通数组的区别就是没有固定的大小限制。

练习:

package com.company.arraylist;

import java.util.ArrayList;

public class ArrayListTest {
    public static void main(String[] args) {
        ArrayList<String> arr = new ArrayList<String>();//初始化
        //String: 泛型数据类型,用于设置 arr 的数据类型,只能为引用数据类型。
        //arr: 对象名。
        arr.add("Tom");//添加元素
        arr.add("Bob");
        arr.add("Marry");
        System.out.println(arr);
        arr.add(1,"jack");//指定索引添加指定元素
        System.out.println(arr);
        arr.remove("Tom");
        System.out.println(arr);
        arr.remove(0);
        System.out.println(arr);
        arr.set(0,"James");//修改指定索引处的元素
        System.out.println(arr);
        System.out.println(arr.size());//.size计算元素的数量

    }
}

结果打印输出:

 

利用for进行数组列表中元素的迭代

  @Test
    public void Test(){
        ArrayList<String> A = new ArrayList<String>();
        A.add("Tom");
        A.add("Bob");
        A.add("Marry");
        int i = 0;
        for (i = 0;i<A.size();i++){
            System.out.println(A.get(i));//利用for来迭代数组列表的元素
        }
    }

结果:

 

二.String类的方法练习

 @Test
    public void contentEquals2(){
        String name1 = "dawang";
        String name2 = "xiaowang";
        CharSequence cs = "dawang";
        //10.contentEquals(CharSequence cs)方法与指定字符串CharSequence比较。
        // 其结果是true,当且仅当此字符串表示char值作为指定的顺序的相同。
        System.out.println(name1.contentEquals(cs));
        System.out.println(name2.contentEquals(cs));
    }
@Test
    public void equalsIgnoreCase(){
        String A = "dawang";
        String B = "DaWang";
        String C = "xiaowang";
        //11.equalsIgnoreCase()比较两个字符串的字符是否相等,此方法忽略大小写,只比较字符
        System.out.println(A.equalsIgnoreCase(B));
        System.out.println(A.equalsIgnoreCase(C));
        System.out.println(B.equalsIgnoreCase(C));
    }
 @Test
    public void compareTo(){
        String A = "abcd";
        String B = "htbd";
        String C = "ysar";
        //12.CompareTo()方法按字母顺序逐个比较字符大小,将字符转换成ASCII码后进行比较,区分字母大小写。
        //1.对于单个字符,返还两个字符的asc码的差值
        //2.参与比较的两个字符串如果首字符相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的asc码差值 。
        //3.两字符串长度不一,参与比较的两个字符串如果首字符相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的asc码差值 。
        int n = A.compareTo(B);
        if(n>0){
            System.out.println("字符串差值为"+n);
            System.out.println("字符串"+A+"大于字符串"+B);
        }else if(n<0){
            System.out.println("字符串差值为"+n);
            System.out.println("字符串"+A+"小于字符串"+B);
        }
    }
@Test
    public void compareToIgnoreCase(){
        String A = "abcd";
        String B = "XdYZ";
        String C = "jyDm";
        //13.compareToIgnoreCase()按字典比较两个字符串,不区分大小写。
        //1.对于单个字符,返还两个字符的asc码的差值
        //2.参与比较的两个字符串如果首字符相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的asc码差值 。
        //3.两字符串长度不一,参与比较的两个字符串如果首字符相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的asc码差值 。
        int n = A.compareToIgnoreCase(B);
        if(n>0){
            System.out.println("字符串差值为"+n);
            System.out.println("字符串"+A+"大于字符串"+B);
        }else if(n<0){
            System.out.println("字符串差值为"+n);
            System.out.println("字符串"+A+"小于字符串"+B);
        }
    }
@Test
    public void regionMatches(){
        String A = "www.baidu.com";
        String B = "www.qq.com";
        String C = "WWW.weixin.com";
        //14.regionMatches()第一个参数代表你要比较的s1字符串的起始位置,第二个表示要和字符串s2比较
        // 第三个参数表示要从s2的哪个位置开始比较,第四个参数代表要比较几位。
        System.out.println("A和B比较:"+A.regionMatches(0,B,0,3));//A的0索引位‘W’,跟B比较,从B的第0索引位'W'开始,比较3位
        System.out.println("B和C比较:"+B.regionMatches(0,C,3,3));
        System.out.println("A和C比较:"+C.regionMatches(true,0,C,0,3));//加上true比较时不区分大小写
    }
@Test
    public void starsWith(){
        String A = "Hello,my name is Tom";
        //15.startsWith() 方法用于检测字符串是否以指定的前缀开始。
        System.out.println(A.startsWith("Hello",0));
        System.out.println(A.startsWith("my name is Tom",0));
        System.out.println(A.startsWith("my name is Tom",6));
    }
@Test
    public void endWith(){
        String A = "I like play basketball";
        //16.endWith()方法用于检测字符串是否以指定后缀结束.
        System.out.println(A.endsWith("play"));
        System.out.println(A.endsWith("basketball"));
    }
@Test
    public void indexOf(){
        String name = "zhangsanAndlisan";
        //17.indexof()
        //1、 indexOf(String str): 返回指定字符str在字符串中(方法调用者)第一次出现处的起始索引,如果此字符串中没有这样的字符,则返回 -1。
        //2、indexOf(String str, int index): 返回从 index 位置开始查找指定字符str在字符串中第一次出现处的起始索引,如果此字符串中没有这样的字符,则返回 -1。
        System.out.println(name.indexOf("san"));
        System.out.println(name.indexOf("san",6));
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值