真是信息爆炸,现在的学习笔记都不知道该写在哪个blog上了,日!
刚开完会,学习下Map接口吧。先看看AbstractMap吧,之所以JDK都是Map下面继承abstract class就是因为可以定义一些通用约定,比如equals的自反性,对称性....对于这些学术概念我头疼啊,吗的。先写一点吧,改天详细搞搞Map的具体实现类的一些方法,内部数据结构等,red-black,大学的时候就发现这些都是浮云啊!
public abstract class AbstractMap implements Map {
/**
* protected,哥喜欢(*@ο@*) 哇~
*/
protected AbstractMap() {
}
// override Object的equals
public boolean equals(Object o) {
if (o == this) return true;
if (!(o instanceof Map)) return false;
Map t = (Map) o; //上面的判断很重要,否则会抛ClassCastException的
if (t.size() != size()) return false;
//开始循环比较Entry中的数据了,我一般会主要想到这样的逻辑比较,前面的判断不错
try {
Iterator i = entrySet().iterator();
while (i.hasNext()) {
Entry e = (Entry) i.next();
Object key = e.getKey();
Object value = e.getValue();
if (value == null) {
if (!(t.get(key)==null && t.containsKey(key)))
return false;
} else {
if (!value.equals(t.get(key)))
return false;
}
}
} catch(ClassCastException unused) {
return false;
} catch(NullPointerException unused) {
return false;
}
return true;
}
}
}
分享到:
相关推荐
这是我在编写struts2中遇到的问题,整理出来,包括截图,希望可以帮到大家
1. java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...
java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...
java.util.ConcurrentModificationException 解决方法 在使用iterator.hasNext()操作迭代器的时候,如果此时迭代的对象发生改变,比如插入了新数据,或者有数据被删除。 则使用会报以下异常: Java.util....
当forEach 的items属性中的表达式的值是java.util.Map时,则var中命名的变量的类型就是 java.util.Map.Entry。这时var=entry的话,用表达式${entry.key}取得键名。 用表达${entry.value}得到每个entry的值。这是...
import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import mmb.rec.sys.easyui.EasyuiComBoBoxBean...
java.util.HashMap,V> (implements java.lang.Cloneable, java.util.Map,V>, java.io.Serializable) java.util.LinkedHashMap,V> (implements java.util.Map,V>) org.springframework.core.annotation....
前三步和人脸检测代码一样 ...第四步 Token和工具类准备完毕,写人脸对比代码 2张对比图片 FaceMatch类 ...import java.util.Map; public class FaceMatch{ /** * 重要提示代码中所需工具类 * FileUtil,Ba
本资源包含两个 pdf 文档,一本根据 Jakob Jenkov 最新博客 (http://tutorials.jenkov.com/java-util-concurrent/index.html) 整理的 java_util_concurrent_user_guide_en.pdf,一个中文翻译的 java_util_concurrent...
import java.io.File; import java.io.FileInputStream;...import java.util.Map; import net.sf.json.JSON; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.xml.XMLSerializer;
1. Set(集合)里面的元素是无序的,但没有重复的元素 2. 两个实现类HashSet(LinkHashSet)和... String value=(String) map.get(key);//根据键key得到value的值 System.out.println(key+"---"+value); } } }
【项目源码】-java进销存管理系统 ... import java.awt.BorderLayout; import java.awt.Color; import java.awt.Image; import java.awt.Insets;...import java.awt.Toolkit;...import java.awt.event....import java.util.Map;
boolean delete(java.lang.String sql, java.util.Map<java.lang.Integer,java.lang.Object> elements) 根据传入的参数删除单条记录的方法 boolean delete(java.lang.String sql, java.lang.Object[] elements)...
运用下列类进行JAVA编程: Date Calendar Random 使用 Collection 接口及其实现类 ArrayList LinkedList 使用 HashMap 使用Vector 等方法的使用
import java.util.Map; import java.util.Set; public class ChatRoomServer { private ServerSocket ss; private Map,Socket> onlineUsers; public ChatRoomServer(){ try { ss=new ServerSocket(8090...
java.util.SortedSet 分布式 java.util.Queue 分布式 of java.util.Deque 分布式 java.util.Map 分布式 java.util.concurrent.ConcurrentMap 通过TTL实现可重入 java.util.concurrent.locks.Lock 分布式 ...
boolean delete(java.lang.String sql, java.util.Map<java.lang.Integer,java.lang.Object> elements) 根据传入的参数删除单条记录的方法 boolean delete(java.lang.String sql, java.lang.Object[] elements)...
org.castor.util.IdentityMap org.castor.util.IdentitySet org.exolab.javasource.JEnum org.exolab.javasource.JType org.exolab.castor.util.List org.exolab.javasource.Header org.exolab.javasource.JClass ...
投掷流 该项目是java.util.stream及其各种支持接口的替代API,该接口允许引发已检查的异常。 用法示例: Stream<String> names = Stream.of("java.lang.Object", "java.util.stream.Stream");ThrowingStream<String>...
> entry : map.entrySet()) { if (sb.length() > 0) { sb.append("&"); } sb.append(String.format("%s=%s", URLEncoder.encode(entry.getKey().toString(), "UTF-8"), URLEncoder.encode(entry.getValue().toString...