Java中,ArrayList的讲解

一 ,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);


    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值