JAVA--List的应用
来源:互联网 发布:mac ai 毛笔字体 编辑:程序博客网 时间:2024/06/06 01:09
1、List中可以添加任何对象,包括自己定义的新的类
class Person{
…..
}
上面定义了一个Person类,下面看好如何使用List:
Person p1=new Person();Person p2=new Person();List list=new ArrayList();list.add(p1);list.add(p2);//这里是将对象加入到list中for(int i=0;i<2;i++){ Person p=(Person)list.get(i);//注意,这里一定要强制类型转换,因为List中取出的对象都是Object类型的,希望对你有所帮助}
2、List是一个接口,不能实例化,需要实例化一个ArrayList或者LinkedList List myList = new ArrayList();
3、使用myList.add(任何对象);就可以进行添加了。
4、取值的时候myList.get(索引);取出来的值都是Object,使用时需要类型转换。
5、可用Iterator迭代器对List中的元素进行迭代操作。
List 集合中的对象按照一定的顺序排放,里面的内容可以重复。
List接口实现的类:ArrayList(实现动态数组), Vector(实现动态数组) ,LinkedList(实现链表), Stack(实现堆栈)
一、 list接口
1.java.util.ArrayList类实现一个可增长的动态数组,平时用的比较多的就是add()方法,其它方法
请参考API帮助文档。使用该方法向集合内添加对象,并且这些对象是按照一定的顺序排列的,它内部原理是数组实现的,因此处理数据量较大时,不建议使用。
public class TestArrayList { public static void main(String[] args) { //声明List 并实例化为ArrayList List al = new ArrayList();//使用add()方法添加元素 al.add("a"); al.add("b"); al.add("c"); al.add("d");//使用Iterator迭代器遍历出集合的元素并打印 for(Iterator i = al.iterator();i.hasNext(); ){ String str = (String) i.next(); System.out.println(str); } }}
3.java.util.Vector(向量)类 与ArrayList类似的也是实现一个动态的数组,该向量可以随意的增长以存放更多的对象
public class TestArrayList { public static void main(String[] args) { //声明List 并实例化为Vector List al = new Vector();//使用add()方法添加对象 al.add("a"); al.add("b"); al.add("c"); al.add("d"); //使用Iterator迭代器遍历出集合的对象并打印 for(Iterator i = al.iterator();i.hasNext(); ){ String str = (String) i.next(); System.out.println(str); } }}
3.java.util.LinkedList类实现了链表,可初始化化为空或者已存在的集合,通常使用以下方法
add();向链表末尾添加对象。
addFirst()在链表开头添加对象。
addLast()在链表末尾添加对象。
getFirst()得到链表开头的对象。
getLast()得到链表末尾的对象。
注意该类提供了随机访问列表中的元素的方法,但是底层依然必须遍历去查找随机访问的对象,因此性能依然有限.
public static void main(String[] args) {//声明LinkedList并实例化 LinkedList al = new LinkedList();//使用add()方法添加元素 al.add("a"); al.add("b"); al.add("c"); al.add("d");//使用Iterator迭代器遍历出集合的元素并打印 for(Iterator i = al.iterator();i.hasNext(); ){ String str = (String) i.next(); System.out.println(str); } System.out.println("_____");//向链表头和尾分别添加x和z al.addFirst("z"); al.addLast("x"); //遍历查看添加后的结果 for(Iterator i = al.iterator();i.hasNext(); ){ String str = (String) i.next(); System.out.println(str); }}
4.java.util.Stack类实现了堆栈数据结构,即按照先进后出的原则存放数据。创建时只能为空。
使用push()方法进行添加对象
public static void main(String[] args) {//声明Stack并实例化 Stack al = new Stack();//使用push()方法添加元素 al.push("a"); al.push("b"); al.push("c"); al.push("d"); al.push("f");//使用Iterator迭代器遍历出集合的元素并打印 for(Iterator i = al.iterator();i.hasNext(); ){ String str = (String) i.next(); System.out.println(str); }}
Example added by myself:
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub ArrayList list = new ArrayList(); list.add(0,"aa"); list.add(1,"bb"); list.add(2,"cc"); for(int i=0;i<10;i++){ list.add(Integer.toString(i)); } for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } for(Iterator i=list.iterator();i.hasNext();){ //首先定义一个list对象的Iterator,然后利用该Iterator进行循环迭代操作 String s =(String)i.next(); System.out.println(s); } }}
- JAVA--List的应用
- java List的应用
- List的链接应用
- micropython的list应用
- list的简单应用
- java list set map的区别与应用
- Java Set,List,Map的区别与应用
- Java Set,List,Map的区别与应用
- java中list集合中交集的应用
- JAVA中List应用简介
- java.util.Collections.sort(List list)类的应用(与Comparable,Comparator比较)
- freemarker的list的应用
- 【Java】List接口的应用,与C++中vector应用比较 (一)
- linux list的应用实例
- js map list的应用
- [Java Collection]List分组之简单应用.
- JAVA List的倒序
- java List的用法
- EventBus框架的使用
- css中px和em的区别
- xabbix安装配置
- Merit技术人员价值管理系统——完善编辑结构
- u插件开发,图解每个js之前的通信
- JAVA--List的应用
- android UIImageview
- 开发个人总结
- 如何确定栈的增长方向地址是递增还是递减
- 回到顶部和回到底部动画
- UML之用例图
- 读书笔记| (二)ARM9 嵌入式学习:代码 & 原理篇
- 基于dos的多任务系统实现
- 汇编学习3