一篇博文中这样写到:所有抽象出来的数据结构和操作(算法)统称Java集合框架(Java Collection Framework)。这是因为在java语言中,设计者对常用的结构和算法做了一些规范(接口)和实现(具体实现接口的类)。这样,在具体应用时,就不必考虑数据结构和算法的具体实现了,只需在这些类的基础上创建出对象,然后直接调用就可以了,很大程度上提高了编程效率。自己在看了这些之后,还是无法理解集合框架的,在百度百科中间有这么一段:都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。接口:即表示集合的抽象数据类型。接口提供了让我们对集合中所表示的内容进行单独操作的可能。 实现:也就是集合框架中接口的具体实现。实际它们就是那些可复用的数据结构。 算法:在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、排序等。这样的一个说明,让我这个半瓶子还摇晃的人粗略的了解了集合框架的一个真实用途:把某些算法封装成接口,在实例化的时候通过对象构造实现具体运用。
在说明用途之后,下面一个很重要的概念就是集合的一个简单分类。常用的集合有很多,最常用的三种分别是set接口及其子类,list接口及其子类,map接口及其子类。当然除了这三种常用的,集合还有queue接口及其子类,enumeration接口及其子类等若干个。根据各自功能的不同划分为不同的作用。
==================================set====================================
Set是很简单的一个集合框架,形象的一个比喻是裤兜,即简单的存放即可,并无太多的实现要求。Set实现有以下几个方面的要求:对象是无序的、对象是互异的、不能通过索引直接获取的。前两个很容易理解,在高中集合论的基础上,这些都还是可以想象到的,但最后一条——不能通过索引直接获取,小费了一番周折,个人理解是这样的,因为set特定的无序性,很大程度上我们无法预估该数据对象的内存地址,这样就不能在不明白的情况下去寻找某一个需要的数据或者对象。这类似于我们无法通过名字去寻找一个人一样,这样的特征太多的会有,你就无法预估一个范围,寻找起来就不是一件易事。这也是在很大程度上展现了计算机的一个小弊端,机子是死的,外加的软件才是主导和灵魂,长的再风光,没有高贵的精神,一切都是浮云。
在API文档中,set有着以下的一些子类,囊括了各种方式,下面简要摘取并对实现方法做一个简单的小议。
在set中常用的又有以下几种:add、addAll、clear、contions以及isEmpty、remove和size等。
主要的一个运用方法有着以下的几点吧,首先看一下程序代码:
//构造测试对象
SetTest st=new SetTest();
//构造输出对象
java.util.Collection sSet=st.getUserSet(3);
//输出显示
System.out.println(""+sSet.size());
因为set不能通过索取获得,我们还要set的迭代器
java.util.Iterator<Student> it=sSet.iterator();
进而遍历获取:
//遍历
while(it.hasNext()){
Student stu=it.next();
stu.showInfo();
}
================================List=====================================
相对set来说,list的最大特点是有序性,即所有元素的排布遵循一定规则。List常见的方法有很多种,具体相见API文档,下图也是一部分方法显示
常见的list方法有以下几种:addAll、get、clear、add、size。toArrary等。具体使用的时候要根据方法的不同要求具体使用。
==================================map===================================
Map接口相对来说则更加规范性,它是简单一对一模式,即术语所说的键值对,一个key(键),一个value(值),两者是一个一一对应关系。Map中有一条规则就是键不能重复,但值却可以重复。下图为map简单方法示例:
当然看了上面这些觉得自己还是不是特别懂,但没办法,听一次懂得应该是天才所为,自认不是天才,那么所说的一次即懂在我这里也就不合适了。
下附以前学习时胡老师所敲的一段代码,帮助加深理解(是一个map测试):
public static void main(String args[]){
Map<String ,String>map=new HashMap<String ,String>();
map.put("2", null);
map.put("3", null);
map.put("3", null);
map.put("4", null);
map.put("2", null);
map.put("1", null);
map.put("6", null);
map.put("7", null);
map.put("4", null);
map.put("5", null);
map.put("6", null);
System.out.println();
//获得输入数值个数
System.out.println(map.size());
//获得???
System.out.println(map.get(0));
for(int i = 0; i < 100; i++) {
map.put(String.valueOf(i), String.valueOf(i));
}
}
}
[/size][/size]
- 大小: 129.5 KB
- 大小: 139.8 KB
- 大小: 123.2 KB
分享到:
相关推荐
支撑框架结构在水平荷载下的简化计算涉及到对结构体系内各个构件,尤其是柱和支撑的刚度、变形和相互作用的分析。在王海波和罗炳贵的研究中,他们提出了一个新的计算模型,该模型考虑了柱的弯曲变形和支撑对抗弯刚度...
框架桥支撑体系方案.doc
新型电力系统数字技术支撑体系框架设计(2022年版) 1. 新能源革命:电力系统将是能源转型的中心环节,能源安全关系国家安全。我国能源供给和消费的结构性矛盾突出,必须加快推进能源生产和消费革命,增强我国能源...
随着中国电信市场的不断开放,竞争程度也日趋激烈,发展高端客户,创新商业模式已经成为中国移动...本框架文件包括《商业客户业务运营支撑系统(B-BOSS)业务框架》和《商业客户业务运营支撑系统(B-BOSS)技术框架》。
在多高层钢结构中,由于纯框架结构刚度不足,通常会采用中心支撑框架、偏心支撑框架或偏离中心支撑框架来提高抗侧刚度和抗震性能。中心支撑简洁但易在地震中产生侧向屈曲,而偏心支撑通过改变屈曲顺序展现出优秀的...
火电厂钢结构铰接支撑框架主厂房弹性时程分析,候景鹏,魏灿,本文以某3X600MW大型火电厂钢结构铰接支撑框架体系主厂房为例,采用有限元软件Midas/Gen建立火电厂主厂房结构空间三维结构模型,进行�
支撑框架体系与框架支撑体系的对比华北电力设计院PPT学习教案.pptx
在地震作用下,偏心支撑能有效减小主体结构的位移,提供更大的延性,从而提高整体结构的抗震性能。 四、多高层应用 在多高层建筑中,钢结构因其高耸、灵活的特点,成为理想的选择。模块化和装配式的设计结合,使得...
【框架桥支撑体系方案概述】 本方案针对北沙河道路快速化改造及综合治理工程中的框架桥支撑体系,旨在提供安全、高效、经济的施工方法。中铁六局集团有限公司于2017年6月编制了这份详尽的施工方案,以确保工程的...
钢结构咬合钢梁框架中心支撑体系是现代建筑领域中一种重要的结构形式,尤其在高层建筑、大跨度空间结构以及工业厂房的设计中应用广泛。这种体系以其优异的承载能力、良好的抗震性能和高效的施工效率,成为了现代钢...
框架支撑的设计增强了其机械强度,确保在高温或大电流环境下稳定工作。框架通常由金属材料制成,如铝或铜,可以提供额外的散热路径,增加电阻器的耐久性。 描述中的“行业资料-电子功用”暗示了这份文档可能包含...
中心支撑体系则增强了结构的稳定性,尤其是在地震或风荷载作用下,能够有效地分散并吸收能量,保障建筑的安全。这种设计还优化了空间利用,使得建筑物内部布局更加灵活。 三、装配式施工 装配式施工是现代建筑行业...
《多高层装配式钢结构咬合钢梁框架偏心支撑体系》 在现代建筑行业中,随着科技的进步和环保意识的提升,装配式钢结构技术得到了广泛的应用。这种技术尤其在多高层建筑领域中展现出其优越性,能够有效提高施工效率,...
基于信息资源体系的电子政务框架技术支撑中国.pptx
《基于信息资源体系的电子政务框架技术支撑》是中国中软强网信息技术有限公司在2007年10月提出的一种电子政务建设方案,旨在构建一个统一、高效、安全的政府信息化平台。该框架主要由以下几个核心部分构成: 1. **...
基于信息资源体系的电子政务框架技术支撑-中国.zip