【java】兴唐第二十三节课(暑期第一节TreeSet)
预警:进入暑期培训的博主即将高产似母猪,敬请博友期待。
1、给类添加构造方法
alt + shift + s
选择Generate Construct using Fields
2、map两种遍历方法
方法一:
获取所有的key值,根据key值获取value值
代码实现:
Set keySet = map.keySet();for(Object key : keySet) {System.out.println(key + "----" + map.get(key)); }//keySet:将所有的key值转化为Set
注:在HashMap里每一个key和value都是对应一个实体,数组里存储的就是这些实体
方法二:
通过将所有的数据转换为Entry对应的Set集合进行遍历
Set<Map.Entry> entrySet= map.entrySet();for(Map.Entry entry : entrySet) {System.out.println(entry.getKey() + "---->" + entry.getValue());}
3、使用泛型
代码实现:
public static void MapDemo1() {Map<String, Student> map = new HashMap<String, Student>();map.put("20181602", new Student("小强","20181602", 99));Set<Map.Entry<String, Student>> entry = map.entrySet();for(Map.Entry<String, Student> entrySet :entry) {String stuNo = entrySet.getKey();Student stu = entrySet.getValue();}
为什么entrySet有getKey和getValue方法而entry却没有?
写泛型的好处:
免去了类型转化的麻烦(如果不写泛型则需要用Object类型的变量来接收getKey和getValue传来的数据,如果想转化成自己想要的类型则需要用强制类型转化)
4、Entry是Map的内部接口而非子接口
5、接口是不能被实例化的但Set集合能声明接口类型的数据,在实际存储中,这个声明表示只要你是这个接口的实现类都可以存进去的,Set里存储的数据必须出Map.Entry的实现类实例化出来的对象
Set<Map.Entry<String, Student>> entry = map.entrySet();
return (es = entrySet) == null ? (entrySet = new EntrySet()) : es;
entrySet返回的是一个Set的实现类
相关文章:

程序设计分析(开篇)——混沌初开,顿悟设计
一直以来,不断的进行着项目的设计、开发,然而,差的设计,痛苦的维护、编码,让我不断的审视自己的设计是否有问题,在最近的一些思考、理解中,终于有了一些领悟,总结一下过去的设计&…

源代码管理工具调查
任务说明: 一、找出并了解当前较为流行的几种源代码管理工具(至少三种); 1、 Visual Source Safe( 简称 VSS )2、 SVN(Subversion) - CVS(Concurrent Version System)的替代和升级版本3、 ClearCase 二、建立表格对这些源代码管理…

从零开始学Go之接口(一):接口
接口是双方约定的一种合作协议。接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节。 接口是一种类型,也是一种抽象结构,不会暴露所含数据的格式、类型及结构。 声明: 接口类型是由一组方法签名定义的集合 …

【java】兴唐第二十四节课
HashMap中put函数的源码分析: (一)知识点: 1、方法resize()的作用是扩容 2、 if ((p tab[i (n - 1) & hash]) null)其中n-1代表最后一个元素的下标,经过和hash的&后获取当前存储nod…

找不到可安装的ISAM”的问题
问题描述: 在 Access 或Sql Server中收到“Could not find installable ISAM”(找不到可安装的 ISAM)错误信息或者丢失某些文件类 解决方法: 1.注册表编辑器使用不当可能导致严重问题,可能需要重新安装操作系统。Micro…

修改mysql的时间/时区
# 背景 往db中insert数据发现时间不对,因为是新DB,所以猜测是mysql设置不对 # 解决方法 方法一:通过mysql命令行模式下动态修改 show variables like "%time_zone%"; 查看时区 --------------------------| Variable_name | Value…

【java】兴唐第二十五节课(异常和log4j的使用)
异常 1、try catch finally语法(附带多重catch) 代码实现: public static void main(String[] args) {try {int i 1/0;}catch(ArithmeticException e){System.out.println("出现数学运算异常:" e);}catch(ArrayIndex…

CentOS 命令提示符颜色及样式详解
命令提示符:prompt CentOS下查看当前命令提示符格式: 1 [rootlocalhost ~]# echo $PS1 #显示当前使用的PS1样式 2 [\u\h \W]\$ 命令提示符参数如下: \d :#代表日期,格式为weekday month date,例如&#…

Max_user_connections 与Max_connections 与max_connect_errors
对于连接数的设置,show variables里有三个参数可以对它进行控制,max_connections与max_user_connections以及max_connect_errors。下面对这三个参数相关描述。 max_connections:针对所有的账号所有的客户端并行连接到MYSQL服务的最大并行连接…

压力变动力,存储追求高效率
企业的数据存储量每年都要大幅增长,但是IT预算呈现紧缩趋势。这就是企业面临的最大存储难题,即如何平衡数据增长与提高存储利用率和降低成本之间的关系。 非结构化数据带来的难题 存储最直接的压力来自于不断增长的数据量。今天,我们面对的是…

Hadoop学习之路(三)Hadoop-2.7.5在CentOS-6.7上的编译
下载Hadoop源码 1、登录官网 2、确定你要安装的软件的版本 一个选取原则: 不新不旧的稳定版本 几个标准: 1)一般来说,刚刚发布的大版本都是有很多问题 2)应该选择某个大版本中的最后一个小版本 阅读编译文档 1、准备一…

static String valueOf(XXX xxx)
1 package day01;2 /**3 * static String valueOf(XXX xxx)4 * 字符串提供了一组静态的重载的valueOf方法,作用5 * 是将其他类型转换为字符串6 * author ta7 *8 */9 public class Demo10 { 10 public static void main(String[] args) { 11 int a 123; 12 …

【java】兴唐第二十五节课小程序学生卡转账小系统(自己写的异常)
1、StuCard.java public class StuCard {public static void TransMoney(int source, int money, int target) {money - target;if(money < 0) {throw new NotEnoughMoneyException("余额不足");}System.out.println("商家的余额为:" sour…

【JQUBAR1.1】jQuery 插件发布
【JQUBAR1.1】jQuery 插件发布 JQUBAR1.1 简介 2010-11-22在博客园发布了柱状图JQUBar1.0 jQuery 插件。现将该插件升级为1.1版本。 1.1版本修复了部分bug,同时新增以下功能: 1.可自定义坐标颜色 2.可自定义X,Y轴坐标名称 3.Y轴动态坐标自动建立 4.Y…

ssh远程操作服务器
登录方式 ssh account192.168.xxx.xxx 输入密码 远程上传下载文件 上传: scp filepath acount192.168.xxx.xxx:path filepath为要上传的文件路径path为上传到服务器的储存路径 下载: scp acount192.168.xxx.xxx:filepath path filepath为要下载的文件路径…

【java】兴唐第二十三节课作业
已知如下: 下表为某班级四次考试成绩单, 要求使用HashMap<String, Integer>存储每次考试的成绩(key键为姓名,value为成绩)。要求使用LinkedList存储考试次数,有几次考试就有几个HashMap注意…

Data - 数据思维 - 中篇
6 - 模型与框架 利用现有的成熟的理论、模型与框架,结合实际业务情况,搭建分析框架,尽量确保数据分析维度的完整性,结果的有效性及正确性。 营销理论模型:4P、用户使用行为、STP理论、SWOT等。管理理论模型:…

快速设置戴尔latitude笔记本的触摸板和指点杆
// TouchPadSettings.cpp : Defines the entry point for the console application.// by windviki 2010/08/31// 转载请注明出处。//// 办公用的戴尔笔记本除了触摸板,还在键盘中间有一个指点杆(point stick)// 打字很不习惯,经常…

Ubuntu 10.10系统安装手记
原来一直在公司用Ubuntu,感觉做开发是相当不错的,特别那种各种利用命令的方式真是太高效了。所以现在想把笔记本也装上,弄了半天,也遇到不少问题,记下来备忘一下。 虚拟机还是双系统 磁盘里面好多东西,基本…

php值传参,引用传参以及对象传参
传值:是把实参的值赋值给行参 ,那么对行参的修改,不会影响实参的值传引用 :真正的以地址的方式传递参数传递以后,行参和实参都是同一个对象,只是他们名字不同而已对行参的修改将影响实参的值说明࿱…

用一行代码高效的求一个列表的平方和
最近看到一个笔试题,考察的都是 Python 中的高阶函数 题目如下:用一行代码高效的求一个列表的平方和(不能用 sum 函数) 分析 1.先将列表中每个值作平方: 立即想到 map 函数,假设列表是 range(10),那么这个列表中平方是…

【java】第二十二节课(HashSet)
1、使用HashSet建立对象、添加元素并使用两种方法遍历 代码实现 public class SetDemo {public static void main(String[] args) {Set<String> set new HashSet();set.add("猴子");set.add("八戒");set.add("唐僧");set.add("沙僧…

转:在 .NET 中实现异步回调访问数据库
在 .NET 中实现异步回调访问数据库 时间:2009-11-17 19:52来源:网络收集 作者:佚名 点击: 334 次 技术论坛某些场合下,在对数据库进行访问时,为了避免同步访问数据时所带来的延迟,我们需要改进设计,以提高程序执行效率。一方面&am…

《资安人》:迈向成功SOC之路
近日,台湾的《资安人》上发表了一篇文章——《迈向成功的SOC之路》,现转载至此,以飨读者。【作者:王榮信 -11/08/2010】在現代虛擬世界中,造成資訊安全事件的來源為病毒、蠕蟲或木馬,不變的安全事件來源就是…

Laravel 上使用 phpexcel的两种方式
原创 2017年06月24日 20:24:311229文章采集与网上 方式1。使用原生的phpexcel , http://blog.csdn.net/CSwfe/article/details/52748046?locationNum1 1、在app目录下创建一个新的文件夹,命名libs(可自定义) app/libs/phpExcel2…

剑指offer-----Python-----栈
用两个栈实现队列 题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中元素为int类型. 首先,栈都是先进后出,但是队列呢,一般是先进先出。也就是创建两个栈stack1和stack2,使用两个“先进后出”的…

【工具软件】markdown编译器待办事项无法打勾
使用时可以直接点击上方工具栏的 List item 注意:此时已经自动在里面加了一个空格,如果直接加x的话,不会打勾,如下:[ x] List item 所以先删除空格在加x 问题解决

【转】创建不可见的Activity
在android开发中有时候会用到一些后台的Activity,但又不适合使用service,比如直接点击程序图标时只是执行一段代码,不需要弹出程序界面。此时可以在项目的AndroidManifest.xml文件中相应的Activity标签中添加这样一行:android:the…

关于 TApplication 详解 三 ---- TComponent
ComponentCount属性 对应对象:所有组件 声明:property ComponentCount: Integer; 功能:此属性在运行时有效,它是只读型。同时它标明组件具有的组件数。当用户在设计时可以在窗体上放置一个组件,因此此窗体将变为…

[转载] K3 K3c 最简单无损开壳方法
只用一把螺丝刀就行了,其它什么撬棒 信用卡 撬片等 拆机工具一概不用。拆了5台,只有一台断了一个扣口。1. 把底部4个螺丝拿掉。2.把路由如图放在桌子上,路由平行于身体,注意是立着放 使路由与桌子接触的部分成30度角。这样使一侧…