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());
        }


    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值