目录
1.基本数据类型和包装类
2.List的使用
2.1尾插e
2.2打印List
2.2.1方法一:
2.2.2方法2:
2.2.3方法3:
2.2.4方法4:
2.2.5利用remove删除List中的元素
2.2.6利用迭代器中add方法给List中添加元素
2.2.7ArrayList的简单实用方法
1.基本数据类型和包装类
这里面包装类就是基本数据类型的首字母大写,除了Integer和Character。
在这里我们就介绍一下装箱和拆箱的意思。
装箱也叫装包:把简单类型变为包装类类型
拆箱也叫拆包:把包装类类型变为简单类型
举例:
public static void main(String[] args) {
Integer a = 123;//装箱 装包
int b = a;//拆箱 拆包(隐式的)
System.out.println(a+" "+ b);
System.out.println("================");
//显式的装包
Integer a2 = Integer.valueOf(123);
Integer a3 = new Integer(123);
//显式的拆包
int b2 = a2.intValue();
double d = a2.doublevalue();
}
接下来我们来看一个例题:
那么为什么两个的结果不相同呢?
那么我们就来看看后台将int类型转化为Integer类型的valueOf方法的源码:
我们可以看到如果i>=low=-128值 或者 i<=high=127,就会返回一个值。
因为返回的是一个cache[ ]的数组,因此我们计算一下其取值范围:
因此只要是0到255之间的值,都是返回true,其他都是返回false。
2.List的使用
2.1尾插e
public static void main(String[] args) {
List list = new ArrayList<>(10);
ArrayList list2 = new ArrayList<>();
list2.add("hello");
list2.add("bit");
list2.add("hehe");
System.out.println(list2);
//使用另外一个Arraylist对list3初始化,前后必须保持一样的类型
ArrayList list3 = new ArrayList<>(list2);
list3.add("hanghang");
System.out.println(list3);
}
2.2打印List
2.2.1方法一:
ArrayList list2 = new ArrayList<>();
list2.add("hello");
list2.add("bit");
list2.add("hehe");
System.out.println(list2);
2.2.2方法2:
public static void main(String[] args) {
List list = new ArrayList<>(10);
ArrayList list2 = new ArrayList<>();
list2.add("hello");
list2.add("bit");
list2.add("hehe");
System.out.println(list2);
//使用另外一个Arraylist对list3初始化,前后必须保持一样的类型
ArrayList list3 = new ArrayList<>(list2);
list3.add("hanghang");
System.out.println(list3);
}
2.2打印List
2.2.1方法一:
ArrayList list2 = new ArrayList<>();
list2.add("hello");
list2.add("bit");
list2.add("hehe");
System.out.println(list2);
2.2.2方法2:
ArrayListlist2 = new ArrayList<>(); list2.add("hello"); list2.add("bit"); list2.add("hehe"); System.out.println(list2);
2.2.2方法2:
for循环打印:
for(int i = 0;i2.2.3方法3:
foreach打印:
for (String s:list2) { System.out.print(s+" "); } System.out.println();2.2.4方法4:
迭代器打印(一):
Iteratorit = list2.iterator(); while (it.hasNext()){ //it指代第一个元素的前一个位置 System.out.print(it.next()+" "); } System.out.println(); 迭代器打印(二):
//ListIterator的功能包括了 Iterator ListIteratorit2 = list2.listIterator(); while (it.hasNext()){ //it指代第一个元素的前一个位置 System.out.print(it.next()+" "); } System.out.println(); 2.2.5利用remove删除List中的元素
2.2.6利用迭代器中add方法给List中添加元素
ArrayListlist2 = new ArrayList<>(); list2.add("hello"); list2.add("bit"); list2.add("hehe"); //实现了List接口的,一般都可以用ListIterator来打印 ListIterator it2 = list2.listIterator(); while (it2.hasNext()){ String ret = it2.next(); if(ret.equals("hello")){ it2.add("hanghang");//此时的add后面的数据是在it2后面添加进去的 //list.add("hanghang");此时就会报错,抛出异常 }else { System.out.println(ret + " "); } } System.out.println(list2); 2.2.7ArrayList的简单实用方法
ArrayList的remove方法:
那么我们来思考一个问题:
为什么刚开始new ArrayList指定的大小是0,我们add元素的时候,仍然没有报错呢?
这个主要是因为ArrayList的源码中可以扩容,欲知具体原因,我们下一章节再讲。



