简介
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟主机、营销软件、网站建设、云浮网站维护、网站推广。集合和数组的区别:
数组存储基础数据类型,且每一个数组都只能存储一种数据类型的数据,空间不可变。
集合存储对象,一个集合中可以存储多种类型的对象。空间可变。
严格地说,集合是存储对象的引用,每个对象都称为集合的元素。根据存储时数据结构的不同,分为几类集合。但对象不管存储到什么类型的集合中,既然集合能存储任何类型的对象,这些对象在存储时都必须向上转型为Object类型,也就是说,集合中的元素都是Object类型的对象。
既然是集合,无论分为几类,它都有集合的共性,也就是说虽然存储时数据结构不一样,但该有的集合方法还是得有。在java中,Collection接口是集合框架的根接口,所有集合的类型都实现了此接口或从其子接口中继承。
Collection接口
根据数据结构的不同,一些collection允许有重复的元素,而另一些则不允许。一些collection是有序的,而另一些则是无序的。
Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的"子接口"如List和Set。也就是说,无法直接new一个collection对象,而是只能new一个实现Collection类的子接口的对象,如new ArrayList();。
所有的Collection类都必须至少提供两个构造方法:无参数构造方法构造一个空集合;带Collection参数的构造方法构造一个包含该Collection内容的集合。例如,ArrayList就有3个构造方法,其中之二就满足这两个构造方法的要求。
Collection是java.util包中的类,因此要实现集合的概念,需要先导入该包。
ArrayList继承自List接口,List接口又继承自Collection接口。ArrayList类存储的集合中,元素有序、可重复。
import java.util.*;
Collection coll = new ArrayList();
因为Collection接口不允许直接实现,因此需要通过实现它的子类来实现集合的概念,此处创建的是ArrayList对象,使用了父类引用,好处是扩展性较好。
Collection有一些集合的通用性操作方法,分为两类:一类是普通方法;一类是带有All的方法,这类方法操作的是集合。
add():向集合的尾部插入元素,返回值类型为boolean,插入成功返回true。注意集合只能存储对象(实际上是对象的引用)。
import java.util.*; // public class TestColl { public static void main(String[] args) { Collection coll = new ArrayList(); coll.add("abcd"); //插入字符串对象 coll.add(123); //插入Int对象 coll.add(123); coll.add(new Student("Gaoxiaof",23)); //插入Student对象 coll.add(new Student("Gaoxiaof",23)); //插入另一个Student对象 System.out.println(coll); //直接输出集合中的元素,得到结果[abcd,123,123,Gaoxiaof 23,Gaoxiaof 23] } } // class Student { private String name; private int age; Student(String name,int n) { this.name = name; this.age = n; } public String getName() { return this.name; } public int getAge() { return this.age; } public String toString() { return this.name + " " + this.age; } }