JAVA集合框架——图
来源:互联网 发布:桌面日历软件 编辑:程序博客网 时间:2024/06/04 01:19
JAVA集合框架
Java集合框架——图
1.图
图是一种依照键值存储元素的容器。键值类似于下标,图的键值可以使任意类型的对象。需要注意的是,图中不能存在重复的键值,每个键值都对应一个值。一个键值与其对应的值构成了一个条目,图内所存储的元素便是这个条目。集合框架中,图有三种类型,包括:散列图HashMap,链式散列图LinkedHashMap以及树形图TreeMap。这些图的通特性都定义在Map接口中。以下便是Map接口中的具体方法。
更新方法
查询方法
此外我们还可以通过KetSet()方法来获得一个包含图中键值的规则集,也可以使用values()方法会的一个包含图中值的集合。方法entrySet()返回一个实现Map.Entry
1.1 链式散列图
LinkedHashMap类用链表实现来扩展HashMap类,支持图中条目的排序。在LinkedHashMap中,元素既可以按照他们的插入顺序为排序方式,也可以按照它们被最后一次访问时的顺序进行排序,从最早到最晚。无参构造法是以插入顺序来创建LinkedHashMap对象的,若要按照访问顺序来创建LinkedHashMap对象,需要调用LinkedHashMap(initialCapacity, loadFactor, true)方法。
1.2 树形图
TreeMap在遍历好排序的键值对是具有很高的效率。键值可以使用Comparable接口或者Comparator接口来排序。如果使用无参构造方法创建一个TreeMap对象,假设元素实现了Comparable接口,则可以使用Comparable接口中的compareTo方法对图内的元素进行比较,并进行排序。
2. 实例:替换单词
存在一段文本需要解译,输入具体的解译信息,然后完成自动单词矫正。举例如下:
- 解译信息
输入START时程序读取解译信息,输入END为停止接受解译信息标志;再次输入START为输入解译文本的标志。最后输出解译后的文本内容,若输入文本中无法检索到对应解译信息的内容时,则不进行替换,直接输出文本内容具体代码如下所示。
import java.util.*;public class hashmapTest{ public static void main(String[] args){ Map<String,String> hashmap=new HashMap<String,String>(); List<String> wordslist=new ArrayList<String>(); Scanner input=new Scanner(System.in); Collections.addAll(wordslist,input.nextLine().split(" ")); /*输入解译信息并以START和END为标志*/ if(wordslist.get(0).compareTo("START")==0){ wordslist.clear(); boolean mark=true; while(mark){ Collections.addAll(wordslist,input.nextLine().split(" ")); if(wordslist.get(0).compareTo("END")==0) mark=false; else{ hashmap.put(wordslist.get(1),wordslist.get(0));//将解译信息存放在散列图中 wordslist.clear(); } } } wordslist.clear(); Collections.addAll(wordslist,input.nextLine().split(" ")); /*识别输入文本*/ if(wordslist.get(0).compareTo("START")==0){ wordslist.clear(); Collections.addAll(wordslist,input.nextLine().split(" ")); } /*输出解译后的文本信息*/ for(int i=0;i<wordslist.size();i++){ if(hashmap.containsKey(wordslist.get(i))) System.out.println(hashmap.get(wordslist.get(i))); else System.out.println(wordslist.get(i)); } }}
- JAVA集合框架——图
- java集合——集合框架
- <java——集合框架>
- Java——集合框架
- java集合框架—List
- Java基础—集合框架
- Java集合框架—Set
- Java集合框架—Map
- Java集合框架—List
- Java学习—集合框架
- JAVASE—java集合框架
- 《Java专栏》— 集合框架
- Java集合框架——集合框架概况
- JAVA集合框架图
- JAVA集合框架图
- java集合框架图
- java集合框架图
- Java集合框架图
- 如何入门NLP
- 编译Linux-4.9.11内核时遇到:“error : openssl/bio.h :No such file or folder”
- Codeforces Round #408 (Div. 2) E
- 记录一下python中遇到的问题
- 简单socket通信
- JAVA集合框架——图
- pg_buffercache
- mybatis的优缺点
- TensorFlow入门很好的教程:你好,TensorFlow!
- CentOS7下搭建redis集群
- 工作安排(待编辑)
- 关于胶合逻辑
- 图片的展示清晰度问题研究
- ContentProvider跨程序数据共享