ArrayList类、String类

ArrayList类

引入—对象数组

// 需求:把三个People类型的对象存入到容器当中。数组
public static void main(String[] args) {
    // 创建对象数组
    People[] arr = new People[3];
    // 创建3个people对象
    People p1 = new People("小明",20);
    People p2 = new People("小花",18);
    People p3 = new People("小刘",22);
    
    arr[0] = p1;
    arr[1] = p2;
    arr[2] = p3;
    // 使用循环
    //for (int i = 0; i < 3 ; i++) {
        //arr[i] = new People("小明",20);
    //}
    // 遍历学生数组  展示对象中的成员变量信息  name age
    for (int i = 0 ; i <= arr.length-1; i++) {
        People p = arr[i];
        System.out.println(p.getName() +","+p.getAge())
    } 
} 

备注:对象数组,长度是固定的,如果在程序中需要对象进行增加或者删除等数量操作时,非常不方便。
Java又提供了一个容器 java.util.ArrayList集合类。这个类可以让我们的存储和操作对象更方便。
什么ArrayList类
java.util.ArrayList类是一个【大小可变的数组】的实现,里面存储的数据称为元素。该类提供了一些常用的api方法来操作内部存储的元素。
ArrayList类的使用步骤
查看类
java.util.ArrayList:该类也是需要import导入后才能使用
,表示一种指定的数据类型,叫做【泛型】。E,取自Element(元素)的首字母。在程序中遇到【E】的地方,我们需要使用一种【引用的数据类型】将其替换掉即可,表示我们将存储哪种数据类型的元素。
例如:

ArrayList<People> peoples;
ArrayList<String> strs;
ArrayList<int> nums; // 不正确的写法     

查看构造方法
public ArrayList(): 构造一个初始容量为10的空列表
public ArrayList(int initialcapacity) 构造一个指定初始容器的空列表
基本格式:

ArrayList<引用数据类型> 变量名 = new ArrayList<引用数据类型>(); //
在JDK1.7之后,右侧的泛型尖括号里面的数据类型可以选择省略不写,但是<>要保留。

查看成员方法
public boolean add(E e):将指定的元素添加到此列表的【尾部】。
public void add(int index, E element):将指定的元素插入此列表中的指定位置。
public void clear(): 移除此列表中的所有元素。
public boolean contains(Object o):判断此列表是否包含指定的元素,如果包含返回true,否则返回false。
public E get(int index): 返回指定位置的元素。
public int indexOf(Object o): 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
public boolean isEmpty(): 如果此列表中没有元素,则返回 true
public E remove(int index): 移除指定位置的元素,并把移除的元素返回
public E set(int index,E e):用指定的元素替代此列表中指定位置上的元素。
public int size():返回此列表中的元素个数。

遍历 【重点】
使用for循环,定义的循环变量就是ArrayList容器中的索引,循环的次数就是容器的元素个数size()

如何存储基本数据类型值
ArrayList类对象不能存储基本类型,只能存储引用类型的数据,类似不支持的,但是Java中提供了基本数据类型对应的包装类型,包装类型是可以在ArrayList容器中指定,所以我们如果想要存储基本数据类型值,首先需要把基本数据类型转换成包装类型。

基本类型基本类型包装类
byteByte
shortShort
intIntger[重点]
longLong
floatFloat
doubleDouble
charCharacter[重点]
booleanBoolean

备注:我们需要对int和char进行特殊记忆,其他类型只需要记住首字母大写即可。

String类 【重点】

String类的概述

java.lang.String 类代表字符串,Java程序中的所有的字符串文字,如"abc"都可以看做是String类的实例。
程序当中的所有双引号字符串,都是String类的对象。(没有new,也是对象)。

字符串的特点:
字符串的内容永远不可改变。【重点】
正是因为字符串的内容永远不可改变,所以字符串是可以共享使用的。
字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。

// 第二点
String str1 = "abc";
String str2 = "abc";
// 内存当中"abc","abc"对象会被创建出来,而且"abc"对象只会被创建一次,内存当中只有一个"abc"对象被创建,
// 此时str1和str2可以共享同一个"abc"对象
String str3 = new String("abc");
String str4 = new String("abc");

备注:JDK1.7之后的JVM将【运行时常量池】从方法区去移除了,在Java 堆(heap)中开辟空间用来存储运行时常量池。JDK1.8开始,取消了Java方法区(method area),取而代之的是元空间(metaspace),JDK1.8中字符串常量池和运行时常量池逻辑上属于方法区,实际上存储在堆内存当中。

static关键字

public class Student {
    
    private String name;
    private int age;
    private String id;// 学号
    static String room;// 教室
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值