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
    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用法的更多相关文章

  1. pat——1017. Queueing at Bank (java中Map用法)

    由PAT1017例题展开: Suppose a bank has K windows open for service. There is a yellow line in front of the ...

  2. Java中Map用法详解

    原文地址http://blog.csdn.net/guomutian911/article/details/45771621 原文地址http://blog.csdn.net/sunny2437885 ...

  3. java映射(map用法)

    主要分两个接口:collection和Map 主要分三类:集合(set).列表(List).映射(Map)1.集合:没有重复对象,没有特定排序方式2.列表:对象按索引位置排序,可以有重复对象3.映射: ...

  4. java list map用法

    1.初始化,方法1 //初始化List List<string> list = new ArrayList</string><string>(); list.add ...

  5. Java中 Map用法

    public static Map GetGoodTypes() { Map goodTypes=new HashMap(); goodTypes.put(1,"原材料"); go ...

  6. java中Map的用法(HaspMap用法)

    public interface Map<K,V> 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. import java.util.HashMap; impo ...

  7. Java的map键值对的用法,map的遍历,Entry对象的使用

    思路: 1.定义集合 2.存储数据 3.添加元素 4.遍历 4.1将需要遍历的集合的键封装到set集合中(这用到了entrySet方法,和Entry对象) 4.2声明迭代器或者用for增强循环 4.3 ...

  8. JAVA JPA - 示例用法

    JPA(Java Persistence API)是JSR(Java Specification Requests)的一部分,定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate. ...

  9. Collection List Set和Map用法与区别

    labels:Collection List Set和Map用法与区别 java 散列表 集合 Collection           接 口的接口      对 象的集合   ├   List   ...

  10. java 容器 集合 用法

    Set,List,Map,Vector,ArrayList的区别 JAVA的容器---List,Map,Set Collection ├List │├LinkedList │├ArrayList │└ ...

随机推荐

  1. Java 伪静态 Mapping

    1. 概念 伪静态,简单来说是指转换url地址,在这里用来替换掉urlMapping.因为urlMapping需要为每一个页面都进行配置,非常麻烦. 2. RequestMapping 3. Spri ...

  2. KingbaseES的standby搭建

    KingbaseES数据库部署及双机热备配置 Dataguard双机热备部署 注:配置期间使用数据库的属主用户进行操作 1.1 数据一致性准备 (1)修改数据库的配置文件参数:(2阶段初始化的数据库实 ...

  3. 查找子字符串----KMP算法深入剖析

    假设主串:a b a b c a b c a c b a b      子串:a b c a c 1.一般匹配算法 逐个字符的比较,匹配过程如下: 第一趟匹配 a b a b c a b c a c ...

  4. Vue.js自定义指令的用法与实例

    市面上大多数关于Vue.js自定义指令的文章都在讲语法,很少讲实际的应用场景和用例,以致于即便明白了怎么写,也不知道怎么用.本文不讲语法,就讲自定义指令的用法. 自定义指令是用来操作DOM的.尽管Vu ...

  5. Bootstrap入门(二十)组件14:警告框

    Bootstrap入门(二十)组件14:警告框 警告框组件通过提供一些灵活的预定义消息,为常见的用户动作提供反馈消息,提示.通知或者警示,可以迅速吸引注意力. 1.情景警告框 2.可关闭的警告框 3. ...

  6. 基于Casperjs的网页抓取技术【抓取豆瓣信息网络爬虫实战示例】

    CasperJS is a navigation scripting & testing utility for the PhantomJS (WebKit) and SlimerJS (Ge ...

  7. 从Chrome源码看浏览器的事件机制

    .aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto } .crayon-line spa ...

  8. 《JAVASCRIPT高级程序设计》创建对象的七种模式

    细看javascript创建对象模式的诞生,具体的脉络为:不使用任何模式——工厂模式——构造函数模式——原型模式——组合使用构造函数模式——动态原型模式——寄生构造函数模式——稳妥构造函数模式.每一种 ...

  9. 蓝牙连接音响问题(android电视)

    最近老大让我开发电视的蓝牙,由于android电视的蓝牙不稳定和设计上的各种各样的要求,需要在原有的基础上做一些更改,中间遇到了各种问题,在此总结一下. 我们首先要获取blueToothAdapter ...

  10. java_db常见错误总结

    1.java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符 在拼写seq时是否存在存在特殊字符,如:常见语句后面添加了;2.ORA-01722:无效数字解决 ...