`
junzai
  • 浏览: 14444 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

三种集合框架

阅读更多
java三种集合框架


一、
1、java.util.List:线性,有下标,长度可变,有序的(先进先出),可重复
2、java.util.Set:非线性,无下标,不可重复,无序,长度可变
3、java.util.Map:K是在set中的,所以K不重复,每一个K对应一个V,V是可重复的
二、
三种遍历方法:
1、有下标的可用三种遍历方式,最后一种加强for循环的效率最高,可用系统测试时间的方法来测试
2、没下标的只能用后两种

三、
要明确的一点,我们定义一个方法时要知道它是干什么的,参数是什么,返回值是什么

四、
要实现一个集合只需要:创建集合对象,将元素装入集合,遍历


/**
* 队列测试
* 大小可变数组的实现:线性,有下标,长度可变,有序的(先进先出),可重复
* @author Administrator
*
*/
public class ArrayList {
public static void main(String[] args){
//创建队列对象
java.util.ArrayList<String> list=new java.util.ArrayList<String>();

//获取系统时间
long t1=System.currentTimeMillis();

//装入元素
for(int i=0;i<100000;i++){
String str="元素"+i;
//将元素装入队列,于是队列就有了长度
list.add(str);
}
list.add("元素0");

//遍历1:用for循环
for(int i=0;i<list.size();i++){
//取出元素一次,就输出一次
String str=list.get(i);
System.out.println(str);
}
//遍历完了之后再统计时间
long t2=System.currentTimeMillis();
System.out.println((t2-t1));


//遍历2:通过迭代循环,就相当于用一个中间容器来传送
//调用这个方法,返回一个类型
// java.util.Iterator<String> iter=list.iterator();
// //判断迭代器中是否有元素,用while循环循环次数就可以输出所有的元素,用if只可以得到一个元素
// while(iter.hasNext()){
// //如果有,就取出一个
// String str=iter.next();
// System.out.println(str);
// }

// //遍历3:加强for循环,遍历后面的容器放到前面的容器中.最快,但是时间每次都会变化
// for(String str:list){
// System.out.println(str);
// }


}

}


2、

/**
* 无序列表(集合测试)
* HashSet:非线性,无下标,不可重复,无序,长度可变
* @author Administrator
*
*/
public class HashSetTest {
public static void main(String[] args){

//创建集合对象
java.util.HashSet<String> set=new java.util.HashSet<String>();

//装入元素
for(int i=0;i<100;i++){
String str="元素"+i;
//将元素装入集合中
set.add(str);
}

//为了判断元素0是替换掉原来的还是根本没加进去,结果证明是没加进去,boolean的值只有真假两个
boolean b=set.add("元素0");
System.out.println(b);

//遍历,不能再通过下标遍历了
//遍历1:
// java.util.Iterator< String> iter=set.iterator();
// while(iter.hasNext()){
// String str=iter.next();
// System.out.println(str);//打印出来的结果是无序的
// }

//遍历2:for循环加强
for(String str:set){
System.out.println(str);
}

}

}


3、

/**
* 映射测试
* HashMap:
* K<-->V
* K是在set中的,所以K不重复
* 每一个K对应一个V,V是可重复的,所以就相当于数学中的一个原像可以有多个像,即
* @author Administrator
*
*/
public class HashMap {
public static void main(String[] args){
//创建映射对象
java.util.HashMap<Integer, String> map=new java.util.HashMap<Integer, String>();

//装入映射关系
for(int i=0;i<10;i++){
int num=201108071+i;
String name="学生";
//装入映射,不能用add
map.put(num, name);
}
//添加映射
map.put(2011080712,"张志君");

//遍历不能用这个了:java.util.Iterator<E>,也不能用这个java.util.HashSet<E>,只能用
//得到装有K的Set
java.util.Set<Integer> keys=map.keySet();
for(int num:keys){
//根据K得到对应的V
String name=map.get(num);
System.out.println(num+" "+name);
}

}

}
分享到:
评论

相关推荐

    Java高级程序设计:第7章-集合框架.pptx

    根据不同类型的集合的特点和用途,集合框架在设计的时候将集合分为以下三种类型: (1) 集合(Set) — 无重复对象 (2) 列表(List) — 允许重复对象,按索引检索,类似 数组 (3) 映射(Map) — 每个元素由key对象和value...

    Scala-part2集合框架

    快速掌握集合,Scala的集合有三大类:序列Seq、集Set、映射Map,所有的集合都扩展自Iterable特质 在Scala中集合有可变(mutable)和不可变(immutable)两种类型

    QTP三种自动化测试框架

    1、UFT三种自动化测试框架 2、第一种纯VBS脚本导入就可以用 3、第二种是工具集合excel用 3、第三种也是工具,主要针对的是web类的自动化

    java小白到高级之java三大集合的使用

    java小白到高级之java三大集合的使用java小白到高级之java三大集合的使用java小白到高级之java三大集合的使用;Java集合框架的基本接口主要包括以下几种:

    分布式任务调度框架 集合

    有三种角色, JobClient, JobTracker, TaskTracker。 4. uncode-schedule 基于zookeeper+spring task的分布式任务调度组件,非常小巧,无需任何修改就可以使spring task具备分布式特性,确保所有任务在集群中不重复...

    Java集合容器面试题(2023最新版)-重点

    集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。 任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算 法。 **接口:**表示集合的抽象数据类型。接口允许我们操作集合时不必...

    论文研究-基于帧时隙ALOHA的RFID标签集合检测协议框架.pdf

    提出了基于帧时隙ALOHA的RFID标签集合检测协议框架:分析了协议时间度量、丢失率估算、已识别标签处理和最优检测效率问题等协议框架中的基本问题,总结了迭代识别、短响应时隙和随机响应三种典型的优化方法。...

    ssh框架及sql数据库jar包集合

    这里面包括hibernate、struts、spring的基本jar包,及sql2000、sql2005、sql2008三种数据库的jar包文件,希望能给大家帮助

    搭建系统框架源码下载

    使用的技术:Ext2.2|vs2008|C#|Sql2005|三层|多层 实现了整个系统框架的搭建,非常适合于做后台系统,管理系统,做网站也很不错,目前采用这样的技术就全国来 说,还是很少,但将来的趋势已定很好,对人的视觉有很...

    论文研究 - 基于约束处理技术和多元种群框架的差分进化算法

    然后从该集合中随机选择三种约束算法的组合,并分别在三个子群体中运行这三种约束算法。 根据适应度值的提高,选择最优约束算法在奖励子种群上运行,可以共享信息并在人群之间紧密合作。 为了验证该算法的有效性,...

    Springboot、SpringCloud开发脚手架,集合各种常用框架使用案例.zip

    springboot框架 一、Spring Boot基础应用 Spring Boot特征 ...4.使部署变得简单,SpringBoot内置了三种Servlet容器,Tomcat,Jetty,undertow.我们只需要一个Java的运行环境就可以跑SpringBoot的项目了

    SSM框架详细介绍.zip

    SSM框架是一种广泛应用于企业级Java Web开发的经典框架,它由Spring、SpringMVC和MyBatis三个开源项目整合而成。这一框架集合了各个组件的优势,提供了一套完整的解决方案,旨在实现高效、灵活且可扩展的Web应用程序...

    Java八股文的面试题

    Java集合框架(JCF): Java集合框架提供了一套性能优化的接口和类,用于存储和处理数据集合,如List、Set、Map等。 多线程和并发: Java支持多线程编程,允许同时执行多个任务。Java中的并发编程机制包括线程、同步、...

    《Java核心技术 卷Ⅰ:基础知识(原书第8版)》(中文高清PDF) 第三部分(共四部分)

    这是第三部分,其他部分在我的资源上传列表里面找到。 本书针对JavaSE6平台进行了全面更新,并通过大量测试过的示例说明了最重要的语言特性和类库特性。本书示例程序经过精心地设计,不但... ■集合框架  ■多线程

    JUNIOR:粒子物理学中无监督机器学习的框架

    在将机器学习应用于粒子物理学的过程中,一个持续的挑战是如何超越歧视来学习基础物理学。 为此,一个强大的工具将是无监督学习的框架,在该框架中... 作为第三种应用,瞻博网络模型可以对一个(例如,模拟的)数据集的

    集合概述Collection , List ,Set , Map

    Collection , List ,...对于对象集合,必须执行的操作主要以下三种:  添加新的对象  删除对象  查找对象 我们必须确定如何将新的对象添加到集合中。可以将对象添加到集合的末尾、开头或者中间的某个逻辑位置。

    《Java核心技术 卷II:高级特性(原书第8版)》(中文高清PDF) 第一部分(一共三部分)

    本书试图让读者快速地了解JavaSE6的新特性,并帮助... ■集合框架  ■多线程  有关XML处理、网络、数据库、本地方法、安全、高级AWT/Swing和其他高级特性请参阅《Java核心技术,卷Ⅱ:高级特性(原书第8版)》。

    论坛系统(Struts 2+Hibernate+Spring实现)

    论坛系统(Struts 2+Hibernate+Spring实现) 完美结合JAVA三种框架的集合,深刻体会每种框架的不同应用

    java培训机构内部预习文档

    集合框架 Collection、List、Set、Map的接口及其实现类、迭代、Hash 算法与 hashCode 方法、comparable、泛型 chp12.异常 概念、分类、产生、传递、处理、自定义异常 chp13.线程 概念、创建、状态转换、数据共享、...

Global site tag (gtag.js) - Google Analytics