
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 先后顺序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)