为了简单,类集并没有被限制为只能存储内置的对象。完全相反的是,类集的能力是它能存储任何类型的对象,包括你所创建的类的对象。例如,考虑下面的例子,在这个例子中使用LinkedList存储信箱地址。

// A simple mailing list example.
import java.util.*;
class Address { private String name; private String street; private String city; private String state; private String code; Address(String n, String s, String c, String st, String cd) { name = n; street = s; city = c; state = st; code = cd; } public String toString() { return name + "\n" + street + "\n" + city + " " + state + " " + code; }
}
class MailList { public static void main(String args[]) { LinkedList ml = new LinkedList(); // add elements to the linked list ml.add(new Address("J.W. West", "11 Oak Ave", "Urbana", "IL", "61801")); ml.add(new Address("Ralph Baker", "1142 Maple Lane", "Mahomet", "IL", "61853")); ml.add(new Address("Tom Carlton", "867 Elm St", "Champaign", "IL", "61820")); Iterator itr = ml.iterator(); while(itr.hasNext()) { Object element = itr.next(); System.out.println(element + "\n"); } System.out.println(); }
}

程序的输出如下所示:

J.W. West
11 Oak Ave
Urbana IL 61801
Ralph Baker
1142 Maple Lane
Mahomet IL 61853
Tom Carlton
867 Elm St
Champaign IL 61820

除了在类集中存储用户定义的类之外,关于上面程序的另一个重要的,值得注意的事情是它是非常短的。当考虑用50行代码建立一个能够实现存储,检索,以及处理信箱地址的链表时,类集框架的能力就变得显而易见了。正如大多数读者知道的那样,如果所有这些功能都必须用人工编写代码的话,程序将比现在的长好几倍。类集对许多不同的编程问题提供了现成的解决方案。

开课吧Java课堂:如何将用户定义的类存储于Collection中相关推荐

  1. boost::program_options模块实现一个用户定义的类来解析 特定机制——不是默认使用的 iostream 操作的测试程序

    boost::program_options模块实现一个用户定义的类来解析 特定机制--不是默认使用的 iostream 操作的测试程序 实现功能 C++实现代码 实现功能 boost::progra ...

  2. 开课吧Java课堂:什么是流?如何运用字节流和字符流?

    Java程序通过流来完成输入/输出.流是生产或消费信息的抽象.流通过Java的输入/输出系统与物理设备链接.尽管与它们链接的物理设备不尽相同,所有流的行为具有同样的方式.这样,相同的输入/输出类和方法 ...

  3. java定义一个类显示没有_Java 中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。_学小易找答案...

    [单选题]关于 Java 语言叙述错误的是( ). [判断题]类中 static 修饰的变量或方法,可以使用类名或对象的引用变量访问. [命名题]命名下列化合物, [单选题]急性胰腺炎的主要临床表现是 ...

  4. 开课吧Java课堂:小应用程序基础是什么

    小应用程序是访问internet服务器,在internet上传播的,自动安装的,作为部分Web文档运行的小应用程序.当小应用程序到达客户端,它被限制访问资源,以使它能够在不受病毒威胁和破坏数据完整性的 ...

  5. 开课吧Java课堂之如何使用FilenameFilter

    你总是希望能够限制由list( )方法返回的文件数目,使它仅返回那些与一定的文件名方式或者过滤(filter)相匹配的文件.为达到这样的目的,必须使用list( )的第二种形式: String[ ] ...

  6. 开课吧Java课堂:是什么是比较函数?

    TreeSet和TreeMap都按排序顺序存储元素.然而,精确定义采用何种"排序顺序"的是比较函数. 通常在默认的情况下,这些类通过使用被Java称之为"自然顺序&quo ...

  7. 开课吧Java课堂:是什么TreeMap类

    TreeMap类通过使用树实现Map接口.TreeMap提供了按排序顺序存储关键字/值对的有效手段,同时允许快速检索.应该注意的是,不像散列映射,树映射保证它的元素按照关键字升序排序. 下面的Tree ...

  8. 开课吧Java课堂:什么是HashMap类

    HashMap类使用散列表实现Map接口.这允许一些基本操作如get( )和put( )的运行时间保持恒定,即便对大型集合,也是这样的. 下面的构造函数定义为: HashMap( ) HashMap( ...

  9. 开课吧Java课堂:什么是ArrayList类

    ArrayList类扩展AbstractList并执行List接口.ArrayList支持可随需要而增长的动态数组.在Java中,标准数组是定长的.在数组创建之后,它们不能被加长或缩短,这也就意味着你 ...

最新文章

  1. Java IO 性能优化大PK,什么场景用啥,都给你总结好啦!
  2. dearpygui-0.6.6 以前的蛇变回了应该有的样子
  3. 无人驾驶系列】光学雷达(LiDAR)在无人驾驶技术中的应用
  4. cumsum在matlab中,matlab中cumsum函数和sum函数详解
  5. Oracle 存储过程,函数和包。
  6. 【初探移动前端开发03】jQuery Mobile(上)
  7. python运行外部程序_在Python中运行外部程序(可执行文件)?
  8. 7.边缘检测:2D运算——Canny的不同结果、单个2D边缘检测滤波器、实现边缘3种方法Matlab实战_3
  9. 1.7 什么时候该改变开发_测试集和指标
  10. 史上最壕无人车买家诞生!泥潭中的Uber要搞个超大的无人出租车队
  11. Win11如何禁用USB端口?禁用USB端口的方法
  12. 凸优化第六章逼近与拟合 6.3 正则化逼近
  13. IP101GR完美通信
  14. 跳转到高德地图或百度地图或高德网页导航
  15. Unity网络编程教学视频(本人第一次录制)
  16. 信息融合发展沿革与技术动态
  17. 使用switch的注意
  18. 岳父岳母-寄快递的特殊方式
  19. 2021年新媒体运营不可缺少的24大类工具!
  20. HTML5面试题目汇总(一)

热门文章

  1. MATLAB中zero和ones函数(转载)
  2. python学习第25天
  3. ABP应用层——参数有效性验证
  4. HDU 5729 Rigid Frameworks (联通块计数问题)
  5. postman使用之四:设置读取变量和切换环境
  6. 【linux之bash】
  7. Jmeter中java接口测试
  8. idea android 开发
  9. 魅族m8开发 step by step(1)(让程序跑起来)
  10. python---subplot函数