今天coding的时候,用到了byte[]数组作为hashmap的key值,测试的时候,发现不能够根据相同的byte[],得到相应的value值,google了一下,发现,byte[]数组作为key值,只是数组的地址的引用的hashcode,不能够根据byte[]数组的内容来,创建相应的hashcode,也就是所谓的索引key。所以,如果想用byte[]数组来作为map的key值的话,有三种方法:
1.将byte[],先转化为string,
2.将采用list<byte>
3.将byte[]自己包装,使用byte[]数组的内容来重写hashcode和euquals方法,
write up just for my own reference.
分享到:
相关推荐
有序map通常基于双向链表或数组实现,以保持插入或指定顺序的key。 1. **实现有序map**: - 双向链表实现:每个元素(key-value对)都是链表中的节点,插入时维护key的顺序。在遍历时,可以按照链表的顺序访问。 ...
protected byte[] decrypt(byte[] src, byte[] key) throws Exception { SecureRandom sr = new SecureRandom(); DESKeySpec dks = new DESKeySpec(key); SecretKeyFactory keyFactory = SecretKeyFactory....
MapReduce提供了序列化机制,可以将,v>对序列化为byte数组,方便数据的传输和存储。 MapReduce输出处理类 MapReduce提供了多种输出处理类,例如OutputFormat、TextOutputFormat等。这些类提供了不同的输出处理方式...
- 使用`make`函数创建`map`,如`make(map[keyType]valueType)`。 - 常见操作包括:增加元素(`nameAge["bob"] = 18`)、删除元素(`delete(nameAge, "bob")`)、更新元素(`nameAge["tom"] = 19`)、查询元素(`v := name...
Bigtable的数据模型是一种多维排序的Map形式,其中键由三个部分组成:行关键字(row key)、列关键字(column key)和时间戳(timestamp),而值(value)则是一个未解析的byte数组。 ##### 1. 行关键字(Row Key) 行关键字...
可以,但是要 key 对象必须是不可变的对象,不然在 Entry 被插入 Map 中后,再改变 key 值,会导致当前 key 值与 hash 值不符合,即与数组索引不符,将无法被查找到。 9. 启动一个线程是用 run()还是 start()? ...
都是抽象类,Reader用于读取字符流(char或String),InputStream用于读取字节流(byte数组)。 8. HashMap中是否任何对象都可以做为key,用户自定义对象做为key有没有什么要求? 可以,但是要key对象必须是不可变...
Reader和InputStream都是抽象类,Reader用于读取字符流(char或String),InputStream用于读取字节流(byte数组)。 8. HashMap中是否任何对象都可以作为key,用户自定义对象作为key有什么要求? 答案是,可以,...
使用 byte 数组来缓存文件内容,在读取和写入文件时,使用 try...catch...finally 块来处理异常,finally 块中关闭流。 四、Servlet 创建过程及生命周期 Servlet 的创建过程可以分为两种情况: 1. 客户端请求对应...
* 文件中的所有内容打印出来(byte数组的大小限制为5)。 6.存在一个JavaBean,它包含以下几种可能的属性: 1:boolean/Boolean 2:int/Integer 3:String 4:double/Double 属性名未知,现在要给这些属性设置...
- 数组赋值是值的复制,将数组作为参数传递给函数时,实际上是传递数组的副本而非其地址。 - 如果需要传递数组的地址,应使用切片(slice)。 ##### 2. 元素访问 - **循环遍历**: - `for i := 0; i (array); i++ { ...
Map接口是key-value存储的集合,不允许key重复,可以存储null值的key。HashMap是最常见的实现,采用哈希散列存储,加载因子为0.75,以平衡空间利用率和冲突概率。数组长度为2的幂是为了提高哈希计算效率和冲突处理。...
Bigtable 的数据模型基于一种简单的多维排序 Map,其中索引由行关键字(row key)、列关键字(column key)及时间戳(timestamp)组成。每条记录的值是一个未解析的 byte 数组。这种模型允许用户自定义数据的组织...
public Map, Object> recognizeImage(@RequestParam("file") MultipartFile file) throws IOException { byte[] imageBytes = file.getBytes(); JSONObject result; try { result = baiduAIService....
getMap(JSONObject jsonObject, String key) 得到map getMap(String jsonData, String key) 得到map 表示从json中读取某个Map类型key的值 源码可见JSONUtils.java,更多方法及更详细参数介绍可见JSONUtils Api Guide...
HashMap 允许将 Null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。HashMap 把 Hashtable 的 contains 思路方法去掉了,改成 containsValue 和 containsKey,因为 contains 思路方法容易让人引起误解。...
HashMap 是 Hashtable 的轻量级实现(非线程安全的实现),它们都完成了 Map 接口,主要区别在于 HashMap 允许空(null)键值(key),由于非线程安全,效率上可能高于 Hashtable。HashMap 允许将 Null 作为一个 ...
3. **`public String(byte[] bytes, int offset, int length)`**:根据给定的 byte 数组的一部分创建一个字符串,从 `offset` 开始,长度为 `length`。 4. **`public String(char[] value)`**:根据给定的 char ...