
import javautilHashMap;
import javautilIterator;
import javautilSet;
public class TestHm {
public static void main(String atgs[]){
HashMap hm=new HashMap();
//添加内容
hmput("Object key1", "Object value");
hmput("Object key2", "Object value");
hmput("Object key3", "Object value");
hmput("Object key4", "Object value");
//删除Object key3
hmremove("Object key3");
//创建数组,声明i作为数组下标
String s[]=new String[hmsize()];
int i=0;
//显示内容
Set set=hmkeySet();
Iterator it=setiterator();
while(ithasNext()){
String t=(String)itnext();
Systemoutprintln(t);
s[i++]=t;
}
//测试数组是否添加值
Systemoutprintln("===================");
for(int t=0;t<=2;t++)
Systemoutprintln(s[t]);
}
}
Java中遍历Map对象的4种方法:
1、通过MapentrySet遍历key和value,在for-each循环中使用entries来遍历推荐,尤其是容量大时。
2、通过MapkeySet遍历key,通过键找值value遍历(效率低),普遍使用,二次取值。
3、如果只需要map中的键或者值,你可以通过MapkeySet或Mapvalues来实现遍历,而不是用entrySet。在for-each循环中遍历keys或values。
4、通过MapentrySet使用iterator遍历key和value。
扩展资料:
关于JAVA的遍历知识补充:
1、list和set集合都实现了Iterable接口,所以他们的实现类可以使用迭代器遍历,map集合未实现该接口,若要使用迭代器循环遍历,需要借助set集合。
2、使用EntrySet 遍历,效率更高。
参考资料:
百度百科--Map(映射)
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);
}
}
java中可以使用hashmap的entry来查找key值,示例如下:
private static ArrayList valueGetKey(Map map,String value) {Set set = mapentrySet();//新建一个不可重复的集合
ArrayList arr = new ArrayList<>();//新建一个集合
Iterator it = setiterator();//遍历的类
while(ithasNext()) {
MapEntry entry = (MapEntry)itnext();//找到所有key-value对集合
if(entrygetValue()equals(value)) {//通过判断是否有该value值
int s = (int)entrygetKey();//取得key值
arradd(s);
}
}
return arr;
}
HashMap hm=new HashMap();
hmput("value1","a");
hmput("value2","b");
Object[] b=hmkeySet()toArray();
for(int i=0;i<blength;i++)
{
Systemoutprintln(b[i]);
}
import javautilHashMap;
import javautilIterator;
import javautilMap;
import javautilSet;
public class HashMapKey {
public static void main(String[]args){
String value = "map";
Map<String,String> map = new HashMap<String,String>();//HashMap
mapput("0", "what"); //增加值
mapput("1", value);
mapput("2", "asdf");
Set<String> mapSet = mapkeySet(); //获取所有的key值 为set的集合
Iterator<String> itor = mapSetiterator();//获取key的Iterator便利
while(itorhasNext()){//存在下一个值
String key = itornext();//当前key值
if(mapget(key)equals(value)){//获取value 与 所知道的value比较
Systemoutprintln("你要找的key :"+key);//相等输出key
}
}
}
}
我本军团为你解答
以上就是关于java代码实现hashmap的插入,删除一个对象,并将value值放入数组中,并获取数据显示出来全部的内容,包括:java代码实现hashmap的插入,删除一个对象,并将value值放入数组中,并获取数据显示出来、Java中怎么遍历map中value值、HashMap基本用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)