集合类 Collection

1、Collection接口有两个子接口:

List:保存元素顺序的线性表,允许有重复元素。

Set:不记录元素的保存顺序,不允许有重复元素。数学中的集合

Collection接口中的方法如下:

Collection层次结构:

List:

import java.util.*;
class TestList{
    public static void main(String[] args){
        List<Photo> album=new LinkedList<>();//<>就是泛型编程的意思,将自定义的类对象存储在
        album.add(new Photo("one",new Date(),"NanChang"));
        album.add(new Photo("two",new Date(),"ZhengZhou"));
        album.add(new Photo("three",new Date(),"NanJing"));
        album.add(new Photo("four",new Date(),"ShangQiu"));
        for (Photo photo:album) {
            System.out.println(photo.toString());
        }
    }

}
class Photo{
    String title;
    Date date;
    String memo;
    Photo(String title,Date date,String memo){
        this.title=title;
        this.date=date;
        this.memo=memo;
    }
    @Override
public String toString(){

    return title+"("+date+")"+memo;

}
}

数组等传统的数据类型是将int、char等基本数据类型顺序存储在一起,而list的作用就是能够将程序员自定义类对象顺序存储在一起。

Stack:

import java.util.*;
public class TestStack {
    static String[] months = {
        "January", "February", "March", "April",
        "May", "June", "July", "August", "September",
        "October", "November", "December" };
    public static void main(String[] args) {
        Stack<String> stk = new Stack<>();//将String类型对象作为元素存储到Stack中
        for(int i = 0; i < months.length; i++)
            stk.push(months[i] + " ");
        System.out.println("stk = " + stk);
        System.out.println("popping elements:");
        while(!stk.empty())
            System.out.println(stk.pop());
    }
}

队列:

时间: 2024-07-30 19:37:47

集合类 Collection的相关文章

ios 对象的集合类(collection classes)

当你着手为你的应用编写代码的时候,你会发现有许多可供使用的Objective-C的框架类,其中尤其重要的就是基础框架类,它为平台所有的应用提供基础服务.基础框架类中包括了表示字符串和数字等基本数据类型的值类(value classes),也有用来存储其他对象的集合类(collection classes).你将会依赖值类和集合类为你的ToDoList app编写大量代码. 值对象(Value Objects) Foundation框架提供了生成字符串.二进制数据.日期和时间.数字以及其他值对象的

12. 集合类Collection和Map

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption

第十一课 集合类Collection和Map

集合类 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的方式. 数组和集合类都是容器,他们有什么不同? 数组虽然也可以存储对象,但长度是固定的:集合的长度是可变的,数组中可以存储基本数据类型,集合只能存储对象. 集合类的特点: 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象. 注意:每一个容器的存储方式都有不同,这个存储方式称之为:数据结构 一.Collection ArrayList list = new Ar

Java 集合类 (Collection)

为什么要使用集合类? 当你事先不知道要存放数据的个数,或者你需要一种比数组下标存取机制更灵活的方法时,你就需要用到集合类. 集合类存放于java.util包中 java.util中共有13个类可用于管理集合对象,它们支持集.列表或映射等集合 集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference) 集合类型主要有3种:set(集).list(列表)和map(映射) 总的说来,Java API中所用的集合类,都是实现了Collect

集合类 collection接口 ArrayList

数组: 存储同一种数据类型的集合容器.数组的特点:1. 只能存储同一种数据类型的数据.2. 一旦初始化,长度固定. 3. 数组中的元素与元素之间的内存地址是连续的. : Object类型的数组可以存储任意类型的数据. 集合:集合是存储对象数据的集合容器.集合比数组的优势:1. 集合可以存储任意类型的对象数据,数组只能存储同一种数据类型 的数据.2. 集合的长度是会发生变化的,数组的长度是固定的. Collection接口提供的方法: 提供的实现类继承关系如下: ------------| Col

集合类Collection

数组与集合的区别:数组虽然也可以存储对象,但长度是固定的:集合的长度是可变的,数组中可以存储基本数据类型,集合只能存储对象. 集合特点:1.用于存储对象:  2.长度可变: 3.可存储不同对象: 一.Collection ArrayList<Object> list=new ArrayList<Object>(); list.add("A");//添加对象A; list.add(index,A);//在角标index位置上插入对象 A; list.addAll(

Java 集合类Collection、List

Collection接口: 1.集合可以理解为一个动态的对象数组,不同的是集合中的对象内容可以任意扩充. 也就是说在集合当中的操作比较方便,容易添加或者删除 2.集合的特点: 性能高 容易扩展和修改 这也是为什么使用集合而不使用数组的主要原因 3.Collection的常用子类 List Set Queue 这几个子类也是它比较常用的 接口Collection<E> 所有超级接口: Iterable<E> 所有已知接口: BeanContextBeanContextServices

集合类 collection接口 LinkedList

LinkedList 是另外一种重要的数据结构形式, 底层是使用了双向链表数据结构, 特点: 查询速度慢,增删快. 继承关系如下: 可以发现,LinkedList同时实现了Quene和Deque接口. 静态内部类Node的实现: private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next)

集合类操作:未将对象引用设置到对象的实例

以List为例,具体错误信息如下: 未处理 System.NullReferenceException Message=未将对象引用设置到对象的实例. Source=TestSet StackTrace: 在 TestSet.Form1.button1_Click(Object sender, EventArgs e) 位置 E:\WorkSpace\VS2010\TestSet\TestSet\Form1.cs:行号 34 在 System.Windows.Forms.Control.OnCl