- 浏览: 481315 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (288)
- Java (70)
- Web (11)
- JSP (18)
- JavaScript (25)
- JQuery (22)
- HTML (7)
- CSS (2)
- Struts2.X (6)
- Ibatis/Mybatis (6)
- Hibernate (4)
- Spring (8)
- Oracle (23)
- MySql (9)
- Apache (1)
- Tomcat (9)
- Weblogic (2)
- Maven (6)
- Flex (0)
- Junit (2)
- Test (1)
- SVN (6)
- GIS (3)
- Android (1)
- Eclipse (10)
- Thread (3)
- JVM (1)
- Cache (2)
- Design pattern (1)
- Nosql (3)
- Linux (10)
- Hudson/Jenkins (1)
- MQ (1)
- Network (2)
- 生活工作 (5)
- 架构师之路 (6)
- 知识精华荟萃 (9)
- Interview (13)
最新评论
-
276847139:
方法很有效,我的问题就在是在父项目的.classpa ...
手动添加Maven Dependencies -
coosummer:
推荐使用http://buttoncssgenerator.c ...
button css 样式 -
lqz2012:
DBFFileReader是外部框架里面的吧,不是JDK的。楼 ...
java读取dbf文件 -
xudongcsharp:
lx13345 写道java.lang.NoSuchMetho ...
Spring常用错误 -
lx13345:
jar是hibernate3.3GA,ehcache-1.5. ...
Spring常用错误
关于集合:
ArraryList有序的集合,像数组一样,只不过存放的是每个对象的引用,可能存放的很多的引用是指向同样一个对象的。
HashSet存放之前先比较是否集合中有相等的对象,有就不存放,没有则存放进去
一、equal
声明格式
public boolean equals(Object obj)
其比较规则为:当参数obj引用的对象与当前对象为同一个对象时,就返回true,否则返回false.
为什么要设计equals方法在Object中?
因为任何时候我们定义自己类的时候,我们可以选择是否重写equals方法,增加了灵活性,如果我们不重写,就是继承与Object的equals方法,判断我们对象是否相等。
二、==
其比较规则为:当操作对象是基本类型时比较的是值是否相等1==1(true),当比较的是两个对象时则比较的是对象引用地址是否相同,即是否是同一对象
但是JDK类中有一些类覆盖了Oject类的equals()方法,比较规则为:如果两个对象的类型一致,并且内容一致,则返回true,这些类有:
java.io.file,java.util.Date,java.lang.string,包装类(Integer,Double等)
比如
Integer int1=new Integer(1);
Integer int2=new Integer(1);
String str1=new String("hello");
String str2=new String("hello");
int1==int2 (false,因为不同对象)
int1.equals(int2) (TRUE)
str1==str2 (false)
str1.equals(str2) (true)
三、ArrayList与HashSet:
ArrayList是有序 允许重复;HashSet不允许重复
ArrayList存放的是对象的引用,有可能重复存放同一个对象的引用
而HashSet不允许重复,所以在添加对象到HashSet中时会做查找比较,如果对象很多的话一一做比较会降低效率,进而产生hashcode.(hashcode是哈希算法的一中简单实现,他是一个对象的哈希吗值,每个对象都可以换算成一个hashcode值,而我们把一个集合分成N个区域,每个区域都有上线限,我们按照某种规则把对象放个某个区域内,当我们去查询遍历的时候按照这个规则去找就可以很快的找到该对象所在的区域进而在小范围内很快的找到该对象。)
举例
Junit
先使用hashcode,再使用equal,将大大优化执行效率!
注:使用hashcode的前提是对象必须是存储在hash集合当中
ArraryList有序的集合,像数组一样,只不过存放的是每个对象的引用,可能存放的很多的引用是指向同样一个对象的。
HashSet存放之前先比较是否集合中有相等的对象,有就不存放,没有则存放进去
一、equal
声明格式
public boolean equals(Object obj)
其比较规则为:当参数obj引用的对象与当前对象为同一个对象时,就返回true,否则返回false.
为什么要设计equals方法在Object中?
因为任何时候我们定义自己类的时候,我们可以选择是否重写equals方法,增加了灵活性,如果我们不重写,就是继承与Object的equals方法,判断我们对象是否相等。
二、==
其比较规则为:当操作对象是基本类型时比较的是值是否相等1==1(true),当比较的是两个对象时则比较的是对象引用地址是否相同,即是否是同一对象
但是JDK类中有一些类覆盖了Oject类的equals()方法,比较规则为:如果两个对象的类型一致,并且内容一致,则返回true,这些类有:
java.io.file,java.util.Date,java.lang.string,包装类(Integer,Double等)
比如
Integer int1=new Integer(1);
Integer int2=new Integer(1);
String str1=new String("hello");
String str2=new String("hello");
int1==int2 (false,因为不同对象)
int1.equals(int2) (TRUE)
str1==str2 (false)
str1.equals(str2) (true)
三、ArrayList与HashSet:
ArrayList是有序 允许重复;HashSet不允许重复
ArrayList存放的是对象的引用,有可能重复存放同一个对象的引用
而HashSet不允许重复,所以在添加对象到HashSet中时会做查找比较,如果对象很多的话一一做比较会降低效率,进而产生hashcode.(hashcode是哈希算法的一中简单实现,他是一个对象的哈希吗值,每个对象都可以换算成一个hashcode值,而我们把一个集合分成N个区域,每个区域都有上线限,我们按照某种规则把对象放个某个区域内,当我们去查询遍历的时候按照这个规则去找就可以很快的找到该对象所在的区域进而在小范围内很快的找到该对象。)
举例
public class GuestBook { private int id; private String name; private String address; public GuestBook(){ } public GuestBook(int id){ this.id = id; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + id; return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; GuestBook other = (GuestBook) obj; if (id != other.id) return false; return true; } }
Junit
@Test public void testCollection() { Collection col = new HashSet(); GuestBook g1 = new GuestBook(1); GuestBook g2 = new GuestBook(2); GuestBook g3 = new GuestBook(2); col.add(g1); col.add(g2); col.add(g3); col.add(g1); // 不重写hashcode和equals是3个 System.out.println(col.size()); // 重写hashcode和equals是2个 System.out.println(col.size()); /*只重写equals是3个,由于没有重写hashcode方法,默认 g2与g3的hashcode由他们不同的内存地址来计算存放在不的区域,所以还是可以add进去; 因为此问题所以有个默认的规则是如果两个对象equals相等则同时保证hashcode也相等*/ System.out.println(col.size()); // 重写hashcode和equals是1个 col.remove(g1); System.out.println(col.size()); // 重写hashcode和equals是2个 g1.setId(3); col.remove(g1);// hashcode已变找不到对应的对象,所以尽量不要修改参与hashcode运算的字段,会造成内存泄露 System.out.println(col.size()); }
先使用hashcode,再使用equal,将大大优化执行效率!
注:使用hashcode的前提是对象必须是存储在hash集合当中
发表评论
-
常见eclipse环境编译问题小结
2015-07-08 21:46 710Preferences-Installed JRES-jdk ... -
URLEncode
2014-12-29 18:53 965前言: 根据HTTP协议要求,传递参数的值中如果存在特殊字符( ... -
java日期格式小时制区别
2014-12-29 18:29 760SimpleDateFormat ss = new Sim ... -
opencsv
2014-11-11 15:50 929public class CSVDemo { publ ... -
密码学-加密解密 加签验签
2014-08-21 21:37 8919RSA: 1. 加签:用私钥加 ... -
eclipse常用插件
2014-07-27 20:49 7131 velocity 模板编辑插件 实用 http://pro ... -
互联网开发
2014-04-29 19:17 21321.设计数据库时,有时候会根据业务,为了避免表中出现冗余的字 ... -
Servlet Listener
2014-03-26 17:35 1346Listener功能 它是基于观 ... -
数据库事务
2014-03-22 09:56 822数据库事务(Database Transa ... -
java 堆与栈
2014-03-21 16:54 745栈(stack):主要保存基本类型(或者叫内置类型)(char ... -
String、StringBuilder、StringBuffer区别
2014-03-21 16:24 727String 字符串常量,不可变 StringBuffer 字 ... -
数字证书
2014-03-18 17:20 789http://blog.csdn.net/zhulinfeib ... -
fish
2014-03-18 16:48 0互联网和企业应用最大的区别在于表现层的以及业务的复杂性上面。这 ... -
系统代码基本规范
2014-03-13 22:41 0系统代码基本规范 排 ... -
try catch return
2014-03-11 16:22 761package com.java.test; impor ... -
PO/POJO/VO/BO/DAO/DTO
2013-12-26 17:12 795PO(persistant object) 持久对 ... -
servlet
2013-12-21 17:47 711用Servlet获取URL地址。在HttpServletReq ... -
native2ascii
2013-12-16 15:42 769>native2ascii 中国 \u4e2d\u5 ... -
xStream 框架
2013-12-10 15:31 780http://www.cnblogs.com/hoojo/a ... -
Bat命令学习
2013-08-22 17:33 1585基础部分: 一、基础语法: 1.批处理文件是一个“. ...
相关推荐
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
kolesar_3cd_01_0716
latchman_01_0108
matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
pimpinella_3cd_01_0716
petrilla_01_0308
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
内容概要:本文档由张卓老师讲解,重点探讨DeepSeek的技术革新及强化学习对未来AI发展的重要性。文章回顾了AI的历史与发展阶段,详细解析Transformer架构在AI上半场所起到的作用,深入介绍了MoE混合专家以及MLA低秩注意机制等技术特点如何帮助DeepSeek在AI中场建立优势,并探讨了当前强化学习的挑战和边界。文档不仅提及AlphaGo和小游戏等成功案例来说明强化学习的强大力量,还提出了关于未来人工通用智能(AGI)的展望,特别是如何利用强化学习提升现有LLMs的能力和性能。 适用人群:本资料适宜对深度学习感兴趣的研究人员、开发者以及想要深入了解人工智能最新进展的专业人士。 使用场景及目标:通过了解最新的AI技术和前沿概念,在实际工作中能够运用更先进的工具和技术解决问题。同时为那些寻求职业转型或者学术深造的人提供了宝贵的参考。 其他说明:文中提到了许多具体的例子和技术细节,如DeepSeek的技术特色、RL的理论背景等等,有助于加深读者对于现代AI系统的理解和认识。
有师傅小程序开源版v2.4.14 新增报价短信奉告 优化部分细节
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
商城二级三级分销系统(小程序+后台含源码).zip
li_3ck_01b_0918
nicholl_3cd_01_0516
媒体关注度是一个衡量公众对某个事件、话题或个体关注程度的重要指标。它主要反映了新闻媒体、社交媒体、博客等对于某一事件、话题或个体的报道和讨论程度。 媒体监督的J-F系数(Janis-Fadner系数)是一种用于测量媒体关注度的指标,特别是用于评估媒体对企业、事件或话题的监督力度。J-F系数基于媒体报道的正面和负面内容来计算,从而为公众、研究者或企业提供一个量化工具,以了解媒体对其关注的方向和强度。 本数据含原始数据、参考文献、代码do文件、最终结果。参考文献中JF系数计算公式。 指标 代码、年份、标题出现该公司的新闻总数、内容出现该公司的新闻总数、正面新闻数全部、中性新闻数全部、负面新闻数全部、正面新闻数原创、中性新闻数原创、负面新闻数原创,媒体监督JF系数。
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
lusted_3cd_02_0716
pepeljugoski_01_0107