10 java里的容器类

java里有基于动态数组技术封装出来的ArrayList容器类, 它相于c++里的vector类模板。可用于存放各种类型的数据,而且数量没有限制.

用法:
ArrayList<在存放的数据类型> 容器对象名; //创建容器对象
如创建一个存放字符串的容器对象:ArrayList<String> l = new ArrayList<String>();

容器对象名.add(数据); //增加要存储的数据到容器对象里
如增加一个字符串到容器对象里: l.add("hello");

获取容器对象里每一项的数据:
像数组一样操作的方法, 如获取容器对象里的每一个字符串并输出:

        for (int i = 0; i < l.size(); i++)
        {
            System.out.println(l.get(i).toString());
        }
 用迭代器的操作方法:
        Object obj;
        Iterator<String> it = l.iterator() ;
        while (it.hasNext()) {
            obj = it.next();
            System.out.println(obj.toString());
        }   

ArrayList的完成测试代码:

/* Hello.java */

import java.util.ArrayList;
import java.util.Iterator;

public class Hello {

    public static void main (String args[]) {
        ArrayList<String> l = new ArrayList<String>();

        l.add("hello");
        l.add("nono");
        l.add("hell");

        for (int i = 0; i < l.size(); i++)
        {
            System.out.println(l.get(i).toString());
        }


        Object obj;
        Iterator<String> it = l.iterator() ;
        while (it.hasNext()) {
            obj = it.next();
            System.out.println(obj.toString());
        }           

        System.out.println("hello");
    }
}


java里的LinkedList容器里基于链表的技术封装出来的容器类,相当于C++里的list容器类. 使用方法与ArrayList容器类的基本一样。
如用LinkedList容器对象来存放自定义的Student类对象:

/* Hello.java */
import java.util.Iterator;
import java.util.LinkedList;

class Student extends Object {
    private String name;
    private int id;

    public Student(int id, String name) {
        this.name = name;
        this.id = id;
    }

    public String toString() {
        return "id " + id + " name " + name;
    }

}


public class Hello {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        LinkedList<Student> l = new LinkedList<Student>(); //创建一个存放Student对象的容器对象

        l.add(new Student(0, "小红")); //增加Student对象到容器对象里
        l.add(new Student(1, "小明"));
        l.add(new Student(2, "大大"));
        l.add(new Student(3, "小小"));

        //遍历方法1
        for (int i = 0; i < l.size(); i++)
            System.out.println(l.get(i));

        //遍历方法 2
        Iterator<Student> it = l.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }


    }

}

版权声明:本文为jklinux原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。