复习笔记
第三季第九课:List的实现类ArrayList等
①首先实现一个类ArrayList,存放在al中,
②在里面添加北京,上海,天津,并在第0个位置添加一个重庆,在main外面(因
为方法是和main方法同等级的)新建一个静态,无返回值的print1方法,打印
ArrayList al里面的内容.里面使用到了get()方法获取al里面的元
素.
③挨个的打印里面的元素,查看一下里面的结果.
④用set方法改变1号元素为”beijing”.
⑤在main外面新建一个静态,无返回值的print2打印方法,用到的方法是
iterator方法,用while里面的判断变量用到的是it.hasNext,打印的里面的
方法是it.next().
⑥然后到main里面用print2打印一下al看看.
⑦用remove方法移除第四个(标号是3),最后用print1方法打印看看
①
System.out.println("=========================");
package javastudy;
import java.util.ArrayList;
import java.util.Iterator;
public class Test
{
public static void main(String[] args)
{
//****************第1步****************
ArrayList<String> al=new ArrayList<String>();
al.add("北京");
al.add("上海");
al.add("天津");
al.add(0,"重庆");
//****************第三步并测试****************
print1(al);
//****************第4步并测试****************
al.set(1, "beijing");
print1(al);
//****************第6步测试Iterator****************
print2(al);
//****************第7步****************
//删除了
al.remove(3);
System.out.println("=========================");
print1(al);
//判断北京在什么位置
//如果出现多个,最后一个北京出现在第几个位置
}
//****************第二步****************
static void print1(ArrayList<String> al)
{
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}
}
//****************第5步遍历的概念****************
static void print2(ArrayList<String> al)
{
//Iterator遍历器,相当于元素指针
Iterator<String> it=al.iterator();
//下面怎么得到
while(it.hasNext())
{
System.out.println(it.next());//注意这里it.next
}
}
}
②
Collection 老祖先,接口(interface)
List 子接口
ArrayList,LinkedList,Vector 实现类
Set 子接口
HashSet(无序),TreeSet(有序)
ArrayList:动态数组,表示数组长度可变
ArrayList,LinkedList 使用方法完全一样, 区别
数据存储方式不一样,称为不同的数据结构
ArrayList:基于数组实现(优点:连续存放,查找速度比较快,缺点是增加元素或者删除元素比较慢),
LinkedList基于链表实现(缺点:不连续存放,查找速度比较慢,优点:增加元素或删除元素比较快)。
Vector 向量:基于数组实现的,但是已经过时,现在都用ArrayList。