LinkedHashMap集合 API
时间: 2023-06-18 11:06:57 浏览: 57
LinkedHashMap类实现了Map接口,使用双向链表维护插入顺序。具有如下主要方法:
1. void clear():从此映射中删除所有映射关系。
2. boolean containsKey(Object key):如果此映射包含指定键的映射关系,则返回true。
3. boolean containsValue(Object value):如果此映射将一个或多个键映射到指定值,则返回true。
4. Set<Entry<K,V>> entrySet():返回此映射中所包含的映射关系的Set视图。
5. V get(Object key):返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回null。
6. boolean isEmpty():如果此映射未包含键-值映射关系,则返回true。
7. Set<K> keySet():返回此映射中包含的键的Set视图。
8. V put(K key, V value):将指定的值与此映射中的指定键关联。
9. void putAll(Map<? extends K,? extends V> m):将指定映射中的所有映射关系复制到此映射中。
10. V remove(Object key):从此映射中移除指定键的映射关系(如果存在)。
11. int size():返回此映射中的键-值映射关系数。
12. Collection<V> values():返回此映射中包含的值的Collection视图。
注意:LinkedHashMap是非线程安全的。
相关问题
hashMap 转linkedHashmap 排序
在 Java 中,HashMap 是一个无序的键值对集合,而 LinkedHashMap 则是一个有序的键值对集合,其中元素按照插入顺序或者访问顺序进行排序。如果你想要将 HashMap 转换为有序的 LinkedHashMap 并按照某种排序规则进行排序,可以使用以下代码:
```java
// 创建一个 HashMap
Map<String, Integer> hashMap = new HashMap<>();
hashMap.put("apple", 5);
hashMap.put("banana", 2);
hashMap.put("orange", 4);
hashMap.put("grape", 3);
// 将 HashMap 转换为 LinkedHashMap 并按照值排序
Map<String, Integer> sortedMap = hashMap.entrySet()
.stream()
.sorted(Map.Entry.comparingByValue())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new));
// 打印有序的 LinkedHashMap
System.out.println(sortedMap);
```
这段代码将会输出以下结果:
```
{banana=2, grape=3, orange=4, apple=5}
```
这里使用了 Java 8 中的流式 API,首先通过 `entrySet()` 方法将 HashMap 转换为键值对的集合,然后使用 `sorted()` 方法对其进行排序,最后使用 `collect()` 方法将其转换为 LinkedHashMap 并按照值进行排序。
jdk1.8 api 中英文对照
### 回答1:
在JDK 1.8中,API文档是用英文编写的,但是我可以为你提供一些英文和中文对照的示例。
1. Object类 (Object class)
- equals()方法: 判断两个对象是否相等。
- toString()方法: 返回对象的字符串表示。
- hashCode()方法: 返回对象的哈希码值。
2. String类 (String class)
- length()方法: 返回字符串的长度。
- charAt()方法: 返回指定位置的字符。
- substring()方法: 返回子串。
3. ArrayList类 (ArrayList class)
- add()方法: 将元素添加到ArrayList。
- get()方法: 获取指定位置的元素。
- remove()方法: 删除指定位置的元素。
4. HashMap类 (HashMap class)
- put()方法: 将键值对添加到HashMap。
- get()方法: 根据键获取对应的值。
- remove()方法: 根据键删除键值对。
5. DateTimeFormatter类
- parse()方法: 将字符串解析为日期时间对象。
- format()方法: 将日期时间对象格式化为字符串。
请注意,这只是一小部分JDK 1.8 API中的方法示例,整个API文档提供了更多详细的说明和示例。您可以参考官方的JDK 1.8 API文档以获取更全面的信息。
### 回答2:
1. java.lang 包下的常用类:
- Object:对象类
- Class:类类
- String:字符串类
- StringBuilder:字符串构建器类
- StringBuffer:字符串缓冲类
- System:系统类,提供与系统相关的方法和属性
- Math:数学类,提供数学相关的方法和常量
- Boolean:布尔类
- Byte:字节类
- Character:字符类
- Short:短整数类
- Integer:整数类
- Long:长整数类
- Float:单精度浮点数类
- Double:双精度浮点数类
- Enum:枚举类
- Throwable:可抛出对象类,是所有错误和异常的基类
2. java.util 包下的常用类:
- ArrayList:动态数组类
- LinkedList:链表类
- HashMap:哈希映射类
- LinkedHashMap:有序哈希映射类
- TreeSet:树集类
- TreeMap:树映射类
- HashSet:哈希集合类
- LinkedHashSet:有序哈希集合类
- Queue:队列接口
- PriorityQueue:优先队列类
- Stack:栈类
- Iterator:迭代器接口
- ListIterator:列表迭代器接口
- Comparator:比较器接口
- Calendar:日历类
- Date:日期类
- Timer:定时器类
3. java.io 包下的常用类:
- File:文件类
- InputStream:输入流接口
- OutputStream:输出流接口
- Reader:字符输入流接口
- Writer:字符输出流接口
- BufferedReader:缓冲字符输入流类
- BufferedWriter:缓冲字符输出流类
- FileReader:文件字符输入流类
- FileWriter:文件字符输出流类
- FileInputStream:文件字节输入流类
- FileOutputStream:文件字节输出流类
- ObjectInputStream:对象输入流类
- ObjectOutputStream:对象输出流类
- PrintWriter:打印输出流类
- RandomAccessFile:随机访问文件类
- ByteArrayInputStream:字节数组输入流类
- ByteArrayOutputStream:字节数组输出流类
- CharArrayReader:字符数组输入流类
- CharArrayWriter:字符数组输出流类
这些只是jdk1.8 API中的一部分常用类和接口,还有很多其他类和接口不一一列举。
### 回答3:
JDK 1.8中的API是指Java开发工具包1.8版本中提供的所有类、接口和方法,它们用于开发Java应用程序。下面是一些常用API的中英文对照:
1. java.lang包:
- Object: 对象
- String: 字符串
- Integer: 整型
- Double: 双精度浮点型
- Math: 数学计算
2. java.util包:
- ArrayList: 数组列表
- LinkedList: 链表
- HashMap: 哈希表
- TreeSet: 树集合
- PriorityQueue: 优先队列
3. java.io包:
- File: 文件
- InputStream: 输入流
- OutputStream: 输出流
- BufferedReader: 缓冲读取器
- BufferedWriter: 缓冲写入器
4. java.awt包:
- Frame: 框架
- Button: 按钮
- Label: 标签
- TextField: 文本框
- Checkbox: 复选框
5. java.net包:
- Socket: 套接字
- ServerSocket: 服务器套接字
- URL: 统一资源定位符
- HttpURLConnection: HTTP连接
这只是JDK 1.8 API中一小部分常用类和接口的中英文对照,实际上API包含了更多的类和接口,用于满足不同的编程需求。