HashMap基本用法

HashMap基本用法,第1张

import javaxswing;

import javaawt;

import javaawtevent;

import javautil;

import combruceeckelswing;

public class TrackEvent extends JApplet {

private HashMap h = new HashMap();

private String[] event = {

"focusGained", "focusLost", "keyPressed",

"keyReleased", "keyTyped", "mouseClicked",

"mouseEntered", "mouseExited", "mousePressed",

"mouseReleased", "mouseDragged", "mouseMoved"

};

private MyButton

b1 = new MyButton(ColorBLUE, "test1"),

b2 = new MyButton(ColorRED, "test2");

class MyButton extends JButton {

void report(String field, String msg) {

((JTextField)hget(field))setText(msg);

}

FocusListener fl = new FocusListener() {

public void focusGained(FocusEvent e) {

report("focusGained", eparamString());

}

public void focusLost(FocusEvent e) {

report("focusLost", eparamString());

}

};

KeyListener kl = new KeyListener() {

public void keyPressed(KeyEvent e) {

report("keyPressed", eparamString());

}

public void keyReleased(KeyEvent e) {

report("keyReleased", eparamString());

}

public void keyTyped(KeyEvent e) {

report("keyTyped", eparamString());

}

};

MouseListener ml = new MouseListener() {

public void mouseClicked(MouseEvent e) {

report("mouseClicked", eparamString());

}

public void mouseEntered(MouseEvent e) {

report("mouseEntered", eparamString());

}

public void mouseExited(MouseEvent e) {

report("mouseExited", eparamString());

}

public void mousePressed(MouseEvent e) {

report("mousePressed", eparamString());

}

public void mouseReleased(MouseEvent e) {

report("mouseReleased", eparamString());

}

};

MouseMotionListener mml = new MouseMotionListener() {

public void mouseDragged(MouseEvent e) {

report("mouseDragged", eparamString());

}

public void mouseMoved(MouseEvent e) {

report("mouseMoved", eparamString());

}

};

public MyButton(Color color, String label) {

super(label);

setBackground(color);

addFocusListener(fl);

addKeyListener(kl);

addMouseListener(ml);

addMouseMotionListener(mml);

}

}

public void init() {

Container c = getContentPane();

csetLayout(new GridLayout(eventlength + 1, 2));

for(int i = 0; i < eventlength; i++) {

JTextField t = new JTextField();

tsetEditable(false);

cadd(new JLabel(event[i], JLabelRIGHT));

cadd(t);

hput(event[i], t);

}

cadd(b1);

cadd(b2);

}

public static void main(String[] args) {

Consolerun(new TrackEvent(), 700, 500);

}

}

存在对应的key却获取不到的原因有

可以如果是对象的话,记得查看对象hash方法是否满足自己业务,因为key是取对象hash值来进行存储的。

key的开始跟结束存在空格

key的开头为\uFEFF 字符,正常是看不出来的,debug模式看key字符串的value才能看出来 :

这个\uFEFF到底是个啥???叫做BOM。

BOM(Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码,但它对于文件的读者来说是不可见字符。

BOM定义:>

通过map中的LinkedHashMap实现就可以。

HashMap<String,String> headers = new LinkedHashMap<String,String>();//创建一个map

headersput("Cache-Control", "no-cache");//给map赋第一个值

headersput("Connection", "close");//给map赋第二个值

Set keys1 = headerskeySet();//获取所有的key值

Systemoutprintln(keys1);

结果:[Cache-Control,Connection];//结果就是先进先出

备注:以上HashMap就是先定义了存放的key和value值都是字符串类型,之后可以通过get方法获取到对应的值(如:headersget("Cache-Control"),结果就是”no-cache“);

以上就是关于HashMap基本用法全部的内容,包括:HashMap基本用法、HashMap key使用注意事项 key“存在“却获取不到原因、java map 先后顺序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9702411.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存