java,根据一个动态的map如何动态 往 Object[] array=new Object[];添加值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java,根据一个动态的map如何动态 往 Object[] array=new Object[];添加值相关的知识,希望对你有一定的参考价值。

已知Object[] array=new Object[];
Map<String, Object> map = new HashMap<String, Object>();
map.put("a", "aaaa");
map.put("b", 1111);
map.put("c", 111.0);
也可能为
Map<String, Object> map = new HashMap<String, Object>();
map.put("a", "aaaa");
map.put("b", 1111);
也可能为
Map<String, Object> map = new HashMap<String, Object>();
map.put("a", "aaaa");
map.put("b", 1111);
map.put("c", 111.0);
map.put("d", 1);...

现在要把map中所有的value放到array中,map是动态的

参考技术A

这不是很简单吗。。你肯定是先有map,然后才能确定array的大小

Map<String, Object> map = new HashMap<String, Object>();
Object[] array=new Object[map.size()];

本回答被提问者采纳
参考技术B

public static void main(String[] args)
        Map<String, Object> map = new HashMap<String, Object>();
        Object[] obj = map.values().toArray();
        ArrayList<Object> objlist = new ArrayList<Object>();
        for (Object object : obj)
            objlist.add(object);
        

//后面忽略 直接有values方法 可以转成数组的
    

参考技术C 可以先定义一个list,将map中的值动态添加到list,再将list转换成Object数组! 参考技术D public class Test 

public static void main(String[] args) 
Map<String, Object> map = new HashMap<String, Object>();
Object[] arr = map.values().toArray();


第5个回答  2015-03-23 遍历map,把值存入array就行了

java 动态绑定 多态

继承链中对象方法的调用规则:当前类-->父类-->爷类-->..-->祖先类(只能向上找,不能向下找)
优先级:this.method(Obj) > super.method(Obj) > this.method((super)Obj) > super.method((super)Obj)

demo代码:

public class Polymorphic {

public static void main(String[] args) {
Son son=new Son();
Grandson grandson=new Grandson();
Grandson2 grandson2=new Grandson2();

son.method(); //this.method() 当前类Son有method(),就不在使用Father的method()了
grandson.method(); //super.method() 当前类Grandson没有method(),调用的是父类Son的method()
grandson.methods(); //Grandson和Son都没有methods(),向上找到Father的methods()
grandson.method(grandson); //this.method((super)Obj) 当前类以及父类中没有method(Grandson g),则找method(Son s)
grandson2.method(son); //super.method((super)Obj) Grandson2和Son都没有method(Son s),向上找到Father的method(Father f)
/* 结果:
* Son method()
Son method()
Father methods()
G S
F S
*/
Father father_son = new Son(); //声明了一个Father对象,但创建了一个Son对象,father_son是对象的引用,指向创建的Son对象
grandson.method(father_son); //结果:F F 因为参数代表的是声明的对象,并非创建的对象
}

}
class Father {
public void method(){
System.out.println("Father method()");
}
public void methods(){
System.out.println("Father methods()");
}
public void method(Father f){
System.out.println("F F");
}
public void method(Son s){
System.out.println("F S");
}
}
class Son extends Father{
public void method(){
System.out.println("Son method()");
}
}
class Grandson extends Son{
public void method(Son s){
System.out.println("G S");
}
}
class Grandson2 extends Son{
}

 


以上是关于java,根据一个动态的map如何动态 往 Object[] array=new Object[];添加值的主要内容,如果未能解决你的问题,请参考以下文章

Js 怎么遍历json对象所有key及根据动态key获取值

java如何动态定义变量

怎么给java对象添加动态添加属性和方法

如何根据数据库的字段动态创建实体类? 用java啊~ 最好给点源码和实例

java怎么动态的往一个Long数组里加入Long元素

EL表达式怎么获取Map的动态key?