您的位置:首页 > 编程语言 > Java开发

Java集合<一>

2015-01-27 20:48 225 查看
     Java的集合大致可分为:Set、List和Map三种体系。从JDK1.5以后,Java又增加了Queue体系集合。
     为了保存数量不确定的数据,以及保存具有映射关系的数据,Java提供集合类。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所有集合类都位于java.util包下。
     Set集合类似一个罐子,把一个对象添加到Set集合时,Set集合无法记住添加这个元素的顺序,所以Set里的元素不能重复。
     List集合像一个数组,它可以记住每次添加元素的顺序,只是List的长度可变。
     Map集合也像一个罐子,只是它里面每项数据都由两个值组成。
     对于Set、List和Map三种集合,最常用的实现类是:HashSet、ArrayList和HashMap。



     集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上保存的是对象引用变量);而集合里只能保存对象(实际也是保存对象的引用变量)。

Q1:为什么要出现集合类?
     面向对象语言对事物的体现都是对象的形式,为了方便多个对象的操作,就必须对对象进行存储,集合就是存储对象最常用的一种方式。
Q2:集合和数组都是容器有哪些异同?
     数组只能存储相同类型的对象,而且数组的长度确定不可变,数组可以存储基本数据类型也可以存储对象;
     集合可以存储不同类型的对象,而且集合长度是可变的,集合只能存储引用数据类型。

集合使用操作步骤:

创建集合对象
创建元素对象
添加元素对象
遍历集合对象

判断集合对象中是否有元素(hasNext())
获取集合对象的下一个元素(Next())

遍历集合集合一般采用两种方法。一、先将集合转换为Object[]数组,然后遍历数组;二、直接采用Iterator迭代器。

示例:创建Student对象,包含Name和Age两个属性。然后创建一个集合用于存储Student的对象。然后遍历集合,输出集合对象。

/*创建Student类*/

public class Student
{
[align=left]     private String name ;[/align]
[align=left]     private int age ;[/align]
[align=left]
[/align]
     public Student()
{
[align=left]        super ();[/align]
        // TODO Auto-generated
constructor stub
[align=left]    }[/align]
[align=left]
[/align]
     public Student(String nameint age)
{
[align=left]        super ();[/align]
        this .name =
name;
        this .age =
age;
[align=left]    }[/align]
[align=left]
[/align]
     public String
getName() {
[align=left]        return name ;[/align]
[align=left]    }[/align]
[align=left]
[/align]
     public void setName(String
name) {
        this .name =
name;
[align=left]    }[/align]
[align=left]
[/align]
     public int getAge()
{
[align=left]        return age ;[/align]
[align=left]    }[/align]
[align=left]
[/align]
     public void setAge( int age)
{
        this .age =
age;
[align=left]    }[/align]
[align=left]
[/align]
[align=left]     @Override[/align]
     public String
toString() {
        return "[name=" + name + ",
age=" + age + "]" ;
[align=left]    }[/align]
[align=left]}[/align]

/*创建集合、遍历集合、输出结果*/
[align=left]import java.util.ArrayList;[/align]
[align=left]import java.util.Collection;[/align]
[align=left]import java.util.Iterator;[/align]
[align=left]
[/align]
public class ArrayList2
{
     public static void main(String[]
args) {
[align=left]        // 创建集合[/align]
[align=left]        Collection c = new ArrayList();[/align]
[align=left]        // 创建元素对象[/align]
       Student s1 = new Student("AAA" ,
20);
       Student s2 = new Student("BBB" ,
20);
       Student s3 = new Student("XXX" ,
20);
       Student s4 = new Student("YYY" ,
20);
[align=left]        // 添加对象[/align]
[align=left]        c.add(s1);[/align]
[align=left]        c.add(s2);[/align]
[align=left]        c.add(s3);[/align]
[align=left]        c.add(s4);[/align]
[align=left]        // 遍历集合[/align]
[align=left]        /* 方法一、通过Object[]数组进行遍历 */[/align]
[align=left]       Object[] obj = c.toArray();[/align]
        for (int i
= 0; i < obj. length; i++) {
[align=left]           Student stu = (Student) obj[i];   [/align]
            // String str =
(String) obj[i];     //不能直接将Student对象转换为String类型,否则将会报错。
[align=left]           System. out .println(stu);[/align]
[align=left]       }[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]        System. out .println("----------------------" );[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]        /* 方法二、通过Iterator进行遍历 */[/align]
        Iterator it =
c.iterator();
        while (it.hasNext())
{
[align=left]           System. out .println(it.next());[/align]
[align=left]       }[/align]
[align=left]
[/align]
[align=left]    }[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]输出结果:[/align]

[align=left][name=AAA, age=20][/align]
[align=left][name=BBB, age=20][/align]
[align=left][name=XXX, age=20][/align]
[align=left][name=YYY, age=20][/align]
[align=left]----------------------[/align]
[align=left][name=AAA, age=20][/align]
[align=left][name=BBB, age=20][/align]
[align=left][name=XXX, age=20][/align]
[align=left][name=YYY, age=20][/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 集合 Iterator