java日记2

集合

用数组的方式

定义一个数组存储三个Person对象

		Person [] per =new Person[3];
        Person one =new Person("wang",12);
        Person two =new Person("zhang",32);
        Person three =new Person("cui",42);
        per[0]=one;
        per[1]=two;
        per[2]=three;
        System.out.println(per[0]);
        System.out.println(per[1]);
        System.out.println(per[2]);
        System.out.println(per[2].getName());
用ArrayList来定义

ArrayList在java.util包下,用import导包,是有序集合,按序存储

import java.util.ArrayList;

/*
* public boolean add(E e);向集合中添加元素,参数的类型和泛型一致
* public E get(int index);从集合中获得元素,参数是索引编号,返回值是对应位置的元素
* public E remove(int index);从集合当中删除元素,参数是索引编号,返回值是被删除掉的元素
* public int size();获得集合的尺寸长度,返回值是集合中包含的元素个数
* */
public class Demo02ArrayListMethod {
    public static void main(String[] args) {

        ArrayList<String> list =new ArrayList<String>();
        //ArrayList<String> list = new ArrayList<>();后来的高版本支持new后面的尖括号内不加元素类型
        System.out.println(list);//重写toString()方法,toString方法是Object类的方法
        String a="ads";//堆中的字符串常量池
        String b=new String("lo");//堆中new一片空间
        System.out.println(a+" and "+b);
        boolean success = list.add("AAA");
        System.out.println(list);
        System.out.println(success);
        list.add("BBB");
        list.add("CCC");
        list.add("DDD");
        list.add("王");
        System.out.println(list);
        System.out.println("第二号索引位置是:"+list.get(2));
        System.out.println("改变前集合的长度:"+list.size());
        System.out.println(list.remove(4));;
        System.out.println(list);
        System.out.println("改变后集合的长度:"+list.size());
    }
}
包装类

特别指出,ArrayList中只能存放引用数据类型,准确说java所有的集合中都只能存放引用数据类型,故写出

ArrayList<int> list = new ArrayList<>();

是错误的写法,因为int等属于基本数据类型
但是java有包装类,所以int型的数据换一种方式去存储,用Integer类
我们去存Integer类的实现对象即可,内含一个int value,我找到的源码中的构造方法

public Integer(int value) {
        this.value = value;
}

我们创造的时候可以使用

Integer i = new Integer(1);

在idea中在这里插入图片描述
可以看出方法已被淘汰,还有其他方法,比如praseInt(String string);

装箱和拆箱
装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)

构造方法:

	Integer(int value)构造一个新分配的Integer 对象,它表示指定的intInteger(String s)构造一个新分配的Integer对象,它表示String参数所指示的int

传递的字符串必须是基本类型的字符串,否则会抛出异常,如“100”正确 “abc”错误
静态方法:

	public static Integer valueOf(int i)返回一个表示指定的int值的Integer实例
    public static Integer valueOf(String s)返回保存指定的String值的Integer对象
拆箱:在包装类中取出基本类型的数据(包装类->基本类型的数据)

成员方法:

public int intValue() {
        return value;
}
	int intValue()int类型返回该Integer的值

如果希望向集合中存放基本数据类型,必须使用基本数据类型对应的包装类

  • 基本类型 包装类(引用类型,都位于java.lang包下)
		Integer i1 = new Integer(1);
        Integer i2 = Integer.parseInt("123");
        Integer i3 = Integer.valueOf(1);
        Integer i4 = Integer.valueOf("123");
基本数据类型引用数据类型
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
  • 从JDK1.5开始支持 自动装箱和自动拆箱
  • 自动装箱:基本类型—>包装类型(引用类型)
  • 自动拆箱:包装类型—>基本类型

大学生心得,新手上路,多多指教。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值