您的位置:首页 > 编程语言 > Java开发

Java中,ArrayList的讲解

2015-10-16 20:10 495 查看
一 ,ArrayList采用的数组形式来保存对象的,这种方式将对象放在连续的对象中,就像顺序表一样的,它的缺点,就是插入和删除操作非常困难,不过查询比较容易。

二, LinkedList采用的将对象存在独立的空间中,每个空间中还保存下一个链接的索引,就像链表一样,它的缺点,就是查询非常困难,要从第一个索引开始,不过它的插入删除操作容易。

三, ArrayList后面的尖括号里表示的是这个ArrayList里面放入的值是什么类型的。例如

ArrayList list=new ArrayList();

四,ArrayList有如下功能:

ArrayList list=new ArrayList();

list.add(“fuzhou”); //添加操作

list.add(0,”fuzhou”); //在第一个位置添加元素

list.remove(“福州”); //删除福州这一元素

list.remove(1,”福州”); //删除第二个位置的元素福州

list.set(0,”fuzhou”); //修改第一个元素元素为fuzhou

list.get(2); //查询第三个元素,并且输出

list.indexOf(“fuzhou”); //查询这个fuzhou元素是否存在,存在的话,输出这个元素在这个数组中的位置,如果不在的话,输出-1;

list.size(); //输出这个数组的长度

list.clear(); //清空这个数组,输出的是 [];

list; //输出的这个数组 ,输出的是 [fuzhou,shanghai,beijing]

下面从Java程序来ArrayList的这一些操作:

package com.Arraylist1.java;
import java.util.*;

public class ArrayListTest {
public static void main(String [] args)
{
Scanner in =new Scanner(System.in);
int i;
ArrayList<String> list=new ArrayList<String>();
ArrayList<String> list2=new ArrayList<String>();
ArrayList  list3=new ArrayList();

list.add("fuzhou");
list.add("beijing");
list.add("shanghai");
list.add("chengdu");
list.add("qingdao");
list.add("heilongjiang");
list3.add(1);
list3.add("张三");
list3.add('M');
list3.add(21);
list3.add("shanghai");
list3.add("12345678");

System.out.println("第一个元素: "+list.get(0));
System.out.println("第二个元素: "+list.get(1));
System.out.println("第三个元素: "+list.get(2));
System.out.println("第四个元素: "+list.get(3));
System.out.println("第五个元素: "+list.get(4));
System.out.println("第六个元素: "+list.get(5));
System.out.println();
System.out.println("输出学生基本信息");
System.out.println("编号: "+list.get(0)+" 姓名: "+list.get(1)+" 性别: "+list.get(2)+" 年龄: "+list.get(3)+" 地址: "+list.get(4)+" 电话: "+list.get(5));

//list.
list.add("fuzhou");
System.out.println("顺序添加: "+list);
list.add("guangzhou");
System.out.println("顺序添加: "+list);
list.add("hangzhou");
System.out.println("顺序添加: "+list);
list.remove(0);   //要从标号0开始算起的,不是从1开始算起的
System.out.println("顺序添加:  "+list);
list.add(0, "xiamen");
System.out.println("添加厦门后的数据为: "+list);
//list.remove(o)remove("guangzhou");

//list2.addAll(list);
list2=list;     //两个ArrayList数组可以直接用=赋值
System.out.println("list2的顺序添加:  "+list2);
list2.remove("guangzhou");   //删除元素操作
System.out.println("删除后的顺序是:  "+list2);
System.out.println();
list2.add(0, "dalian");
System.out.println("在第一个编号添加元素后: "+list2);
list2.set(2, "nanchang");      //这个是修改第几个字符串的。
System.out.println("修改后的list2的数据为: "+list2);
list2.set(6, "nanjing");
System.out.println("修改第六个数字后的list2的数据为: "+list2);

list2.remove(0);
System.out.println("删除第一个元素后: "+list2);

System.out.println("请输入你想要查询的标号i=");
i=in.nextInt();
if(i>=0&&i<=6)
{

String str=list2.get(i);    //这个是查询第几个字符串。
System.out.println("查询第"+i+"个元素的数据为: "+str);
}
else
{
System.out.println("输入错误,请重新输入");
}
int ser1=list2.indexOf("fuzhou");
System.out.println("输出ser1="+ser1);
int ser2=list2.indexOf("xijiang");
System.out.println("输出ser2="+ser2);
int num=list2.size();
System.out.println("list2的个数n="+num);

//((Object) list2).Reverse();
//list2.removeAll(list2);
//list2.remove(0);

list2.clear();
System.out.println("删除全部数据后:  "+list2);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: