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的这一些操作:
二, 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); } }
相关文章推荐
- struts2标签分页和浏览器参数的操作
- Eclipse 编码背景颜色设置
- Myeclipse工作空间不显示自动打开,自动创建问题
- 浅谈C#与JAVA的一部分区别!
- 分享笔试题(Java)
- Exception in thread "main" java.nio.charset.MalformedInputException: Input length = 1
- Java笔试笔记
- Spring中的设计模式
- 算法学习日记--最大公约数问题
- java的Arrays类
- Java四种对象引用类型:强软弱虚
- java.lang.OutOfMemoryError: PermGen space
- java练习题——类与对象
- Java语言使用注解处理器生成代码——第二部分:注解处理器
- JavaCC 的安装
- 算法学习日记--寻找数组中的最大值和最小值
- Eclipse如何设置调试时自动切换到自己定制的透视视图
- java中的内部类(嵌套类)
- Maven 依赖 spring-web 对战 spring-webmvc
- Spring中的p标签