day08(String)

本文介绍了Java中的ArrayList集合,其特点及API使用,包括包的概念、导包规则,以及String和StringBuilder的不同之处,强调了如何高效地操作和管理数据。
摘要由CSDN通过智能技术生成
  1. ArrayList:是集合中最常用的一种,集合类似于数组,也是容器,用来装数据的,但集合的大小可变。(比数组好用)
  2. API:(jdk-9.chm)

        先学习包:包是用来分门别类的管理各种不同程序的,类似于文件夹,建包有利于程序的管理和维护。

        导包:在自己程序中调用其他包下的程序的注意事项
        如果当前程序中,要调用自己所在包下的其他程序。可以直接调用。(同一个包下的类,互相可以直接调用)

        如果当前程序中,要调用其他包下的程序。则必须在当前程序中导包,才可以访问!导包格式: import包名.类名;
        如果当前程序中,要调用Java提供的程序。也需要先导包才可以使用;但是Java.lang包下的程序是不需要我们导包的,可以直接使用.
        如果当前程序中,要调用多个不同包下的程序。而这些程序名正好一样,此时默认只能导入一个程序,另一个程序必须带包名访问,

  1. 3.创建String对象的两种方法:直接赋值和使用构造器(四种)

4.String方法 

(变量放置在堆内存中,返回地址相同??是的,请看下面的块引用)

  • “”赋值和new的区别(为什么“”赋值然后用==比较的时候返回值是true的原因)
  • 只要是以“…”方式写出的字符串对象,会存储到字符串常量池,且相同内容的字符串
    只存储一份;
    但通过new方式创建字符串对象,每new一次都会产生一个新的对象放在堆内存中。

所以以后尽量使用equals();  ==容易出现业务bug      :)

5.StringBuilder: 

(结果为false,sb1创建两个对象,sb2创建一个对象!!!)

 

  • append——直接进行字符串拼接,不会重新创建对象(回想一下,String的拼接直接用“+”就可以了)
  • 链式编程:sb2.append("好好").append("学习").append("天天向上");//结果:好好学习天天向上
  • String sb3 = sb1.toString();//将SpringBuilder变成String
  • StringBuilder sb2 = new StringBuilder(String s);//通过构造方法可以实现把String转化成StringBuilder
  • String不适合频繁的进行累加计算,这时候StringBuilder就很适合,效率较高

 6.ArrayList(只能存储引用类型,不能存储基本类型):1、会提供创建容器对象的方式
                   2、会提供供相应的方法对容器进行操作
                   3、添加数据
                   4、删珍某个数据隆改某个数据获亟某个数据

//1、创建和添加
ArrayList<string> list = new ArrayList<>();
System.out.println(list);//[]
list.add("everyday");
list.add("java" );
list.add("好好学习天天向上");
System.out.println(list);//[everyday,java,好好学习天天向上]

//2、往集合中的某个索引位置处添加一个数据
list.add( 1,"前端");
System.out.println(list);
//3、根据索引获取集合中某个索引位置处的值
String s = list.get(0);
System.out.println(s);
//4、获取集合的大小(返回集合中存储的元素个数>
System.out.println(list.size());
//5、根据索引删除集合中的某个元素值,会返回被删除的元素值给我们
String s1 = list.remove( 1);
System.out.println(s1);
System.out.println(list);
//6、直接删除某个元素值,删除成功会返阿true,反之
System.out.println(list.remove( "前端"));
System.out.println(list.remove( "java"));
//7、修改某个索引位置处的数据,修改后会返回原来的值给我
System.out.println(list.set("每天"));
System.out.println(list);


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SUGA no sugar

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

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

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

打赏作者

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

抵扣说明:

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

余额充值