如何创建不同数据类型的列表,根据类型迭代并执行不同的操作?

时间:2017-04-07 11:22:43

标签: java

我有一个由字符串,双精度和整数组成的变量列表,我想将它存储在一个列表中,遍历列表并根据数据类型执行不同的操作。

最初我认为我可以创建一个ArrayList来实现这一点,但其中一些是原始类型而不是对象,所以这不起作用。

我不知道列表中每个项目有多少,所以我认为我不能创建一个对象来保存所有不同的类型。

实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

  1. Class也是实现此目的的替代方法,因为我们可以存储任何类型。在  以下解决方案我创建了不同类型的Employee类 变量

        public class Employee {
    
       static List<Employee> employeeList = new ArrayList<Employee>();
        private int id;
        private String firstName;
        private int age;
        private double salary;
        private String department;
    
        public Employee(int id, String firstName, int age, double salary, 
        String department) {
        this.id = id;
        this.firstName = firstName;
        this.age = age;
        this.salary = salary;
        this.department = department;
        }
    
        public static void main(String[] argv) {
        Employee employee1 = new Employee(1, "Pavan", 45, 20000.00, 
        "Uppal");
        Employee employee2 = new Employee(2, "Mahesh", 35, 10000.00, 
        "Uppal");       
    
        employeeList.add(employee1);
        employeeList.add(employee2);
    
       }
    
     }
    

    2.其他选择是创建对象类型的Arraylist

     List<Object> list=new Arraylist<Object>();
     list.add(100);
     list.add("hi")
     list.add(12.0)
    

答案 1 :(得分:0)

你总是可以使用像Float这样的基本类型的Object表示而不是float,Integer而不是integer等。这样你就可以使用null概念而不是默认值来识别数据无效的情况。与原始类型。 如果您想要一种特殊行为,您可以实现一些模式,例如访客模式(https://www.tutorialspoint.com/design_pattern/visitor_pattern.htm)。