HashMap 集合架构总结 file-Input输入 Output输出

本文回顾了Java中的Comparator和Comparable用于排序的概念,并探讨了HashMap与HashSet、TreeSet的关系。总结了Java集合架构,包括List、Set、Queue、Deque及各种Map实现。还介绍了Java.IO的Input/Output操作,如File类的使用,以及如何过滤文件。
摘要由CSDN通过智能技术生成

回顾:
1.比较器 Comparator Comparable
Collections.sort(list, comparator)
1.不传比较器,按照默认规则排序 - Comparable
2.传指定比较器,按照比较器规则排序 - Comparator
Arrays.sort

内部类:
	成员内部类
	静态内部类:源码
	匿名内部类:实例化 接口/抽象类,一次性使用
	局部内部类

2.TreeSet -> Comparable
指定比较器的TreeSet
3.Map - key-value 键值关系
Object put(key, value)
Object get(key)
Object remove(key)

 迭代map的三种方式 
 	keySet
 	values
 	entrySet -> Entry

=========================================================
HashMap -> HashSet
HashSet就是HashMap的key的部分
TreeSet就是TreeMap的key的部分

HashSet的存储过程 -> HashMap的存储过程
	1.hashCode()计算位置
	2.位置上如果没有
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package 作业5; import java.awt.; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.; import java.io.File; import java.util.HashMap; import java.util.Scanner; import java.io.File; import java.util.HashMap; import java.util.Scanner; public class Example13_7{ public static void main( String args []){ WindowWord win = new WindowWord(); win.setTitle("英﹣汉小字典"); } } class WindowWord extends JFrame{ JTextField inputText,showText; WordPolice police; public WindowWord(){ setLayout(new FlowLayout()); inputText = new JTextField(6); showText = new JTextField(6); showText.setColumns(15); add(inputText); add(showText); police = new WordPolice(); police.setView(this); inputText.addActionListener(police); setBounds(100,100,400,280); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class WordPolice implements ActionListener { WindowWord view; HashMap<String,String>hashtable; File file = new File ("E:\JAVA\上机\作业5\cet4.txt"); Scanner sc = null ; WordPolice () { hashtable = new HashMap< String,String >(); //System.out.println(hashtable.size()); try { sc = new Scanner ( file ); //System.out.println(sc); while (sc.hasNext ()) { String englishWord = sc . next (); String chineseWord = sc . next (); hashtable . put ( englishWord , chineseWord ); } HashMap<String,String> reversedHashtable = new HashMap<String,String>(); for (String key : hashtable.keySet()) { String value = hashtable.get(key); reversedHashtable.put(value, key); } hashtable.putAll(reversedHashtable); } catch(Exception e ) {} } public void setView(WindowWord view) { this.view = view; } public void actionPerformed(ActionEvent e) { String inputWord = view.inputText.getText (); if(hashtable.containsKey(inputWord)) { String outputWord = hashtable.get ( inputWord ); view.showText.setText (outputWord ); } else { String chineseWord = inputWord; for (String key : hashtable.keySet()) { String value = hashtable.get(key); if (value.equals(chineseWord)) { view.showText.setText(key); return; } } for (String value : hashtable.values()) { if (value.equals(inputWord)) { String outputWord = hashtable.get(value); view.showText.setText(outputWord); return; } } view.showText.setText ("没有此单词"); } } }我在输入输入“书”,但结果是没有此单词,但是输入“book”,结果是“n.书,书籍”,如何解决
最新发布
05-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值