java数据结构可以包含不同类型的元素

时间:2014-09-23 13:29:34

标签: java

java中的数据结构是否可以容纳不同类型的对象? 例如,如果需要使用Stack,则堆栈中的元素应该是相同的类型。如果我想要一个容器里面有不同的对象怎么办?

2 个答案:

答案 0 :(得分:4)

这听起来像是继承的绝佳机会。最广泛地说,你可以有一个对象列表,任何类型的对象都可以进入。更具体地说,如果你需要一个车辆列表,你可能会有以下内容:

interface Vehicle{
}

class Car implements Vehicle{
}

class Truck implements Vehicle{
}

List<Vehicle> list = new ArrayList<Vehicle>();
list.add(new Car());
list.add(new Truck()); 

答案 1 :(得分:0)

无论您定义的数据结构是什么,都可以只保留项Object,因为每个类都隐式继承自Object。然而,这会占用你的内存,一定要找到一种方法来处理垃圾收集。
例如。 List<Object>HashMap<Object,Object> obj;或类似的东西。
也许如果您知道将在该数据结构中保存的所有类型的对象,您可以使用方法getClass() switch语句,找出Object所属的类。希望这对你有所帮助。只有在您打算使用的对象之间没有继承时才能实现此解决方案,否则请使用@microsby0的答案