开课吧Java课堂:如何将用户定义的类存储于Collection中
为了简单,类集并没有被限制为只能存储内置的对象。完全相反的是,类集的能力是它能存储任何类型的对象,包括你所创建的类的对象。例如,考虑下面的例子,在这个例子中使用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中相关推荐
- boost::program_options模块实现一个用户定义的类来解析 特定机制——不是默认使用的 iostream 操作的测试程序
boost::program_options模块实现一个用户定义的类来解析 特定机制--不是默认使用的 iostream 操作的测试程序 实现功能 C++实现代码 实现功能 boost::progra ...
- 开课吧Java课堂:什么是流?如何运用字节流和字符流?
Java程序通过流来完成输入/输出.流是生产或消费信息的抽象.流通过Java的输入/输出系统与物理设备链接.尽管与它们链接的物理设备不尽相同,所有流的行为具有同样的方式.这样,相同的输入/输出类和方法 ...
- java定义一个类显示没有_Java 中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。_学小易找答案...
[单选题]关于 Java 语言叙述错误的是( ). [判断题]类中 static 修饰的变量或方法,可以使用类名或对象的引用变量访问. [命名题]命名下列化合物, [单选题]急性胰腺炎的主要临床表现是 ...
- 开课吧Java课堂:小应用程序基础是什么
小应用程序是访问internet服务器,在internet上传播的,自动安装的,作为部分Web文档运行的小应用程序.当小应用程序到达客户端,它被限制访问资源,以使它能够在不受病毒威胁和破坏数据完整性的 ...
- 开课吧Java课堂之如何使用FilenameFilter
你总是希望能够限制由list( )方法返回的文件数目,使它仅返回那些与一定的文件名方式或者过滤(filter)相匹配的文件.为达到这样的目的,必须使用list( )的第二种形式: String[ ] ...
- 开课吧Java课堂:是什么是比较函数?
TreeSet和TreeMap都按排序顺序存储元素.然而,精确定义采用何种"排序顺序"的是比较函数. 通常在默认的情况下,这些类通过使用被Java称之为"自然顺序&quo ...
- 开课吧Java课堂:是什么TreeMap类
TreeMap类通过使用树实现Map接口.TreeMap提供了按排序顺序存储关键字/值对的有效手段,同时允许快速检索.应该注意的是,不像散列映射,树映射保证它的元素按照关键字升序排序. 下面的Tree ...
- 开课吧Java课堂:什么是HashMap类
HashMap类使用散列表实现Map接口.这允许一些基本操作如get( )和put( )的运行时间保持恒定,即便对大型集合,也是这样的. 下面的构造函数定义为: HashMap( ) HashMap( ...
- 开课吧Java课堂:什么是ArrayList类
ArrayList类扩展AbstractList并执行List接口.ArrayList支持可随需要而增长的动态数组.在Java中,标准数组是定长的.在数组创建之后,它们不能被加长或缩短,这也就意味着你 ...
最新文章
- Java IO 性能优化大PK,什么场景用啥,都给你总结好啦!
- dearpygui-0.6.6 以前的蛇变回了应该有的样子
- 无人驾驶系列】光学雷达(LiDAR)在无人驾驶技术中的应用
- cumsum在matlab中,matlab中cumsum函数和sum函数详解
- Oracle 存储过程,函数和包。
- 【初探移动前端开发03】jQuery Mobile(上)
- python运行外部程序_在Python中运行外部程序(可执行文件)?
- 7.边缘检测:2D运算——Canny的不同结果、单个2D边缘检测滤波器、实现边缘3种方法Matlab实战_3
- 1.7 什么时候该改变开发_测试集和指标
- 史上最壕无人车买家诞生!泥潭中的Uber要搞个超大的无人出租车队
- Win11如何禁用USB端口?禁用USB端口的方法
- 凸优化第六章逼近与拟合 6.3 正则化逼近
- IP101GR完美通信
- 跳转到高德地图或百度地图或高德网页导航
- Unity网络编程教学视频(本人第一次录制)
- 信息融合发展沿革与技术动态
- 使用switch的注意
- 岳父岳母-寄快递的特殊方式
- 2021年新媒体运营不可缺少的24大类工具!
- HTML5面试题目汇总(一)