- 浏览: 211052 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (267)
- java.lang (8)
- 问题汇总 (21)
- 异常记录 (20)
- 功能实现 (19)
- 面试总结 (25)
- 技巧总结 (8)
- 常用代码 (4)
- 编程习惯 (3)
- 编码规则 (3)
- java.util (10)
- java.io (1)
- JavaWeb (9)
- MySQL (16)
- SVN (3)
- MyBatis (11)
- Velocity (7)
- 其他知识 (10)
- 人生哲理 (1)
- 人生故事 (1)
- 自我感悟 (1)
- shiro (3)
- 基础知识 (0)
- 问题总结 (1)
- Spring 标签 (1)
- Spring (3)
- 点滴生活 (1)
- DOS (1)
- CAS (4)
- Linux (9)
- Storm (6)
- Shell (1)
- regex (1)
- Collection (4)
- poi (1)
- 经典语句 (1)
- NIO (5)
- concurrent (14)
- RPC (1)
- zookeeper (3)
- 待整理 (2)
- Hadoop (9)
- RabbitMq (2)
- flume (1)
- hive (7)
- hbase (4)
- kafka (1)
- scala (1)
- GC (0)
- java.util.concurrent.atomic (1)
- java.lang.ref (6)
- JVM (2)
- algorithm (1)
- conception (1)
- java key word (1)
- sun.misc (1)
最新评论
需求:Set<Po>判重操作实现
问题:Set<Po>未进行排重
分析:对于基本数据相应的封装类的泛型;由于相应的封装类已经重写Object的hashcode与equals方法,故能够进行唯一性的区分
解决:
1.原集合
举例:
单元测试类:
Console窗口输出
集合长度:2 集合内容:[Man [id=1, name=1], Man [id=1, name=2]]
2.改进,在Po类中重写 object 类中的 hashCode 与 equals 方法
Console窗口输出
集合长度:1 集合内容:[Man [id=1, name=1]]
操作:
Eclipse中提供了重写方法的快捷方式:source -> generate hashcode() and equals ->
选择属性
原因:
参考文献:http://lukuijun.iteye.com/blog/340520
问题:Set<Po>未进行排重
分析:对于基本数据相应的封装类的泛型;由于相应的封装类已经重写Object的hashcode与equals方法,故能够进行唯一性的区分
解决:
1.原集合
举例:
public class Man { private int id ; private String name ; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Man [id=" + id + ", name=" + name + "]"; } }
单元测试类:
public static void main(String[] args) { Set<Man> set = new HashSet<Man>(); Man m = new Man(); m.setId(1); m.setName("1"); Man m2 = new Man(); m2.setId(1); m2.setName("2"); set.add(m); set.add(m2); System.out.println("集合长度:"+set.size()+" "+"集合内容:"+set.toString()); }
Console窗口输出
集合长度:2 集合内容:[Man [id=1, name=1], Man [id=1, name=2]]
2.改进,在Po类中重写 object 类中的 hashCode 与 equals 方法
@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; Man other = (Man) obj; // 指定唯一的条件,即PO类是通过哪一个字段判断唯一性的 if (id != other.id) return false; return true; }
Console窗口输出
集合长度:1 集合内容:[Man [id=1, name=1]]
操作:
Eclipse中提供了重写方法的快捷方式:source -> generate hashcode() and equals ->
选择属性
原因:
参考文献:http://lukuijun.iteye.com/blog/340520
发表评论
-
使用软引用构建敏感数据的缓存
2017-11-16 22:19 845使用软引用构建敏感数 ... -
JSP自定义标签
2017-11-14 20:35 347JSP页面中分页功能实现使用了 <urlChange ... -
手机号码替换中间四位
2017-10-24 21:41 928需求描述: 为用户隐私考虑,展示用户信息时需要将中间用*代替 ... -
遍历集合删除元素
2017-10-24 18:44 659一、根据下标删除元素 1.测试代码 ArrayLis ... -
统计每天的数据
2017-10-10 21:23 551需求:按天统计数据 分析:create_time 为 dat ... -
基于AbstractDataSource实现主从数据库切换
2017-10-07 18:03 1054基于AbstractDataSource实现主从数据库切换 ... -
服务器文件下载
2016-03-27 09:53 382项目需求:在列表页面上提供文件下载链接 项目实现: 1.准 ... -
扫码登录功能实现
2015-08-21 08:19 522需求:PC端(电脑端) ... -
基于SHIRO实现用户登陆后跳转其匿名访问的URL路径
2015-07-15 15:03 3652需求描述: 用户在未登录时访问网站中某个需要登录后才能访问 ... -
基于SHIRO的管理后台权限认证系统实现(一)
2015-07-09 10:05 7012基于SHIRO的管理后台权限认证系统实现(一) 一、项目需求 ... -
基于SHIRO的管理后台权限认证系统实现(二)
2015-06-28 10:14 821用户登陆系统后左侧菜单加载 项目:管理员系统 功能:用户登 ... -
Velocity中set的使用
2015-05-26 10:46 536问题:从页面接收某字段的提交数据,数据要求是组合后的编号 ... -
Velocity页面中输出时间年月
2015-05-19 20:52 1010问题:注册页面要求有创建时间的选项添加,年为至今为止 实现: ... -
如何去除List集合中的重复数据
2015-05-15 13:12 920需求:用户权限查看, ... -
Date相关功能实现
2015-05-12 19:47 633一、同一天 需求:用户记录跟踪列表展示,要求用户数据同一天内 ... -
velocity截取过长的字段值
2015-05-11 20:06 382问题:页面列表展示时,某个字段的值超长,影响页面的整体样式 ... -
将list中某个元素放在首位
2015-05-10 17:25 4584需求:程序开发过程中,业务方要求在展示国家列表时要将US放在首 ... -
Velocity遍历map与遍历list
2015-04-22 20:16 6948问题: 向页面传递key与value的组合 1. 1.1 ...
相关推荐
### Word操作题自动判卷系统的关键技术与实现 #### 一、引言 随着信息技术的发展,计算机应用技能已成为高等教育中的重要组成部分。特别是在高等农业院校,《大学计算机基础》课程已成为必修科目之一,其中Word字...
#### 关键操作实现 1. **置空(setnull)**:将链栈清空。 ```cpp void setnull(LinkedStack<T> &s) { while (!s.isEmpty()) { s.pop(); } } ``` 2. **判空(isEmpty)**:检查链栈是否为空。 ```cpp bool ...
对于队列的算法,考核内容是实现基本的队列操作,包括置空队列、入队(enqueue)、出队(dequeue)。队列是一种先进先出(FIFO)的数据结构。在循环链表表示的队列中,只需要一个指针指向队尾,因为队头是通过队列的...
增加用户:添加新用户信息并初始化(注意不重复添加,要判重); 注销账号:对用户进行临时冻结; 激活账号:对冻结的账号解封; 查看业务信息(查看所有用户/指定用户信息、查看指定时间段业务交易情况(取款、存款...
BitSet类提供了多种方法来操作位图,例如,set(int bitIndex)方法用来设置指定位,get(int bitIndex)方法用来获取指定位的值。 下面是使用BitSet类实现位图法的示例代码: ```java public class BitMap { public ...
这部分逻辑应在`doLogon.jsp`中实现,但实验内容并未给出具体实现,通常会使用条件语句(如`if-else`)来完成这一功能。 通过这个实验,学生能够了解到JavaBean如何在Web应用中作为数据容器工作,以及如何在JSP页面...
- **单链表(Single Linked List)**: 包含`linkSet`和`orderList`可能就是对单链表的操作。单链表的每个节点包含一个数据元素和一个指向下一个节点的指针。在单链表中,只能向前遍历。 - **循环链表(Circular ...
顺序栈的操作如SETNULL、EMPTY、PUSH、POP和TOP在给出的代码中都有具体实现。需要注意的是,顺序栈可能出现上溢(当栈满时尝试进栈)和下溢(当栈空时尝试退栈)的情况。 对于多个顺序栈共用空间的情况,可以减少...
- **堆栈(STACK)**:遵循“后进先出”(FILO)原则,常用操作有压栈(push)、弹栈(pop)、判空(is_empty)、判满(is_full)。 - **队列(QUEUE)**:遵循“先进先出”(FIFO)原则,常用操作有入队(enqueue...
数字式面板控制器使操作变得更加直观,并能够通过外部通信接口如RS-232C进行控制信号的交换,实现远程控制和参数设置。 7. 检测水平指示灯和基准值微调功能: 检测水平指示灯有助于操作者快速判断当前检测的状态和...
以下是实现这些操作的关键步骤: 1. **设置空队列(setnull())**:初始化队列为空,所有指针都为NULL。 2. **获取队首元素(getfirst())**:检查队列是否为空,如果不为空,则返回队首元素(第一个节点的data域),并...
9. **微操作命令和微操作**:微操作命令是控制执行微操作的指令,微操作是这些命令控制下的基本操作,是实现机器指令的物理动作。 10. **快速缓冲存储器(Cache)**:一种高速缓存,位于CPU和主存之间,用于临时...
《LeetCode---C++实现》是一本专注于C++编程语言解决LeetCode在线判题平台上的算法问题的书籍。LeetCode是程序员广泛使用的平台,它提供了大量的编程题目来提升编程技能和算法理解,尤其对于准备面试的程序员来说,...
本节将深入探讨如何使用VB来实现这一功能,包括解析相关知识点、代码示例以及背后的逻辑。 首先,我们需要了解Windows操作系统中的进程概念。进程是系统中正在执行的程序的实例,每个进程都有一个唯一的进程ID(PID...
在C++中,STL提供了`stack`容器来实现栈,提供了如`empty()`、`pop()`、`push()`和`top()`等成员函数来检查栈的状态和操作元素。 2. 向量(Vector):向量是动态数组,支持随机访问。在C++的STL中,`vector`是一个...
现阶段虽只实现了试卷的客观题部分,但已具有用户注册、多用户同时等级考试、动态随机出题、时间控制、自动判卷,试题录入、修改题库、用户治理、科目治理、治理员治理、分数治理等重要功能,也就是说实现了真正的无...
- 实现栈操作:编写置空、判空、进栈、退栈和取栈顶元素的函数。 - 遍历二叉树:分别使用递归和栈的方法实现先根、中根、后根遍历。 - 调用子函数:在`main()`函数中调用上述功能函数,完成整个设计。 在实际...
在C++中,`std::unordered_map` 和 `std::unordered_set` 是内置的哈希表实现,它们提供了高效的关键字查找和操作功能。 对拍是算法验证和调试的一种方法,尤其在解决在线判题系统(如LeetCode、Codeforces等)上的...