常用API(String,ArrayList)(总结)

什么是api?

全称应用程序编程接口,就是Java自己写好的程序,给程序员调用的,方便完成一些功能的。

API文档

程序使用说明书

String

是什么?String是字符串类型,它定义的变量可以指向一个字符串对象。

String是不可变字符串

String创建对象的方式

方式一:

  • 直接使用双引号围起来

• String name = "黑马";

方式二:

  • new构造器得到字符串对象

两种方式的区别(面试笔试题会问到)

  • 双引号给出的字符串对象,存在于堆内存中的常量池中,相同内容只会存储一份呢。
  • new字符串对象,每new一次都会在堆内存中产生一个字符串对象。

String的常用方法(常用API)

判断字符串内容的

  • 背景: == 判断字符串对象是判断地址的,这样会引起很多业务问题。
  • 必要性:判断字符串开发中更多希望判断内容一样就返回true,不在乎地址是不是一样,此时需要用equals方法。

  • 结论1:之后只要是字符串进行内容比较,那必须使用字符串的equals方法
  • 结论2:什么时候用 == 比较?基本数据类型的比较,那就用 ==

其他常用方法:

  • public class StringAPIOrherDemo5 {    
        public static void main(String[] args) {        
            // 1。public int length(); 获取字符串的长度    
            String name = "我爱你中国love";        
            System.out.println(name.length());
            
            // 2.public char charAt(int index): 获取某个索引位置处的字符        
            char c = name.charAt(1);        
            System.out.println(c);        
            System.out.println("-------------遍历字符串中的每个字符-----------");        
            for (int i = 0; i < name.length(); i++) {            
                char ch = name.charAt(i);            
                System.out.println(ch);        
            }  
          
            // 3,public char[] toCharArray(): 把字符串转换成字符数组        
            char[] chars = name.toCharArray();         
            for (int i = 0; i < chars.length; i++) {             
                char ch = chars[i];            
                System.out.println(ch);        
            }   
         
            // 4,public String substring(int beginIndex, int endIndex):截取内容(包前不包后)         String name2 = "Java是最厉害的编程语言!";        
            String rs = name2.substring(0, 9);        
            System.out.println(rs);        
            String rs1 = name2.substring(4, 9);        
            System.out.println(rs1);  
          
            // 5,public String substring(int beginIndex):从当前索引一直截取到末尾        
            String rs2 = name2.substring(4);        
            System.out.println(rs2);      
      
            // 6, public String replace(CharSequence target, CharSequence replacement):
              从当前索引一直截取到末尾        
            String name3 = "张大仙是最厉害的90后,张大仙棒棒的!我好喜欢张大仙";        
            String rs3 = name3.replace("张大仙" , "***");        
            System.out.println(rs3);  
          
            // 7,public boolean contains(CharSequence s) 
         
            System.out.println(name3.contains("张大仙")); // true      
            System.out.println(name3.contains("张二仙")); // false  
          
            // 8,public boolean starsWith(String prefix)      
            System.out.println(name3.startsWith("张大仙"));      
            System.out.println(name3.startsWith("张大仙是最厉害的"));      
            System.out.println(name3.startsWith("张大仙是最厉害的2"));     
       
            // 9,public String[] split(String s): 按照某个内容把字符串分割成字符串数组返回。    
            String name4 = "高启强,高启盛,高启兰";        
            String[] names = name4.split(",");        
            for (int i = 0; i < names.length; i++) {           
                System.out.println("选择了:" + names[i]);        
            }    
        }
    }

ArrayList

集合:代表的是一种容器,类似于数组

集合的特点:大小可变,类型不固定,功能更加强大,适合做元素个数不能确实,同时存在怎么增删操作的业务场景。

ArrayList 是什么?是一种集合

元素可以重复,元素存在索引。

如何构建ArrayList的对象代表一个集合容器,存储数据,

publIc ArrayList();

ArrayLIst list = new ArrayList();

泛型:集合都是支持泛型的

ArrayList<E>

约束集合在编译阶段只能操作某种数据类型

ArrayList<String> list = new ArrayList();
ArrayList<Student> list = new ArrayList();
ArrayList<Movie> list = new ArrayList();
ArrayList<Integer> list = new ArrayList();

注意:集合和泛型都不支持基本数据类型,只能支持引用数据类型。

注意:以后定义集合都应该采用泛型

问题:我的集合就是要什么都存

  • ArrayList list = new ArrayList();
  • 推荐这样写:ArrayList<Object > list = new ArrayList<>();

ArrayList的常用方法

ArrayList遍历并删除元素

从前往后遍历删除存在问题:可能会存在漏掉元素

删除元素后,马上后退一步 i-- 就可以了

从后往前遍历,边遍历边删除没毛病

ArrayList存储自定义类型的对象

ArrayList<Student> list = new ArrayList();

ArrayList<Movie> list = new ArrayList();

注意:集合容器中存储的是每个对象的什么东西?

  • 在堆内存中的地址!!!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值