java代码实现hashmap的插入,删除一个对象,并将value值放入数组中,并获取数据显示出来

java代码实现hashmap的插入,删除一个对象,并将value值放入数组中,并获取数据显示出来,第1张

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基本用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存