有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我可以从map或arraylist将数据设置为jfree中的DefaultCategoryDataset吗

通常我们必须使用addValue手动向数据集添加值,如下所示

 DefaultCategoryDataset dataset =new DefaultCategoryDataset( );     
         dataset.addValue( 1.0 , fiat , speed );        
          dataset.addValue( 3.0 , fiat , userrating );        
          dataset.addValue( 5.0 , fiat , millage ); 
          dataset.addValue( 5.0 , fiat , safety; )

是否有其他方法可以借助arraylist或hashmap创建数据集


共 (1) 个答案

  1. # 1 楼答案

    有一些例子:Examples

    或者,如果您想使用列表自动添加值:

     static class Customer{
        String name;
        int salary;
        int age;
    
        public Customer(String name, int salary, int age) {
            this.name = name;
            this.salary = salary;
            this.age = age;
        }
    }
    
    public static void main(String[] args) {
    
        ArrayList<Customer> data = new ArrayList<Customer>(){{add(new Customer("x",100,20));add(
        new Customer("y",200,30));add(new Customer("z",300,40));}};
        for(Customer c:data){
            System.out.println(c.name+" _ "+c.salary+" - "+c.age);
        }
    
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        for(Customer c :data){
            dataset.addValue(c.salary, "low", "");
        }
    
         //Cont'd other JFreechart codes ...
    
    
    }
    

    如果您使用Java,并尝试执行以下操作:DefaultCategoryDataset list = new Arraylist<>(),这是不可能的。因为DefaultCategoryDataset(DefaultCategoryDataset)是从AbstracDataset扩展而来的,并实现了可序列化(java.io.Serializable)。无法使用arraylist和hashmap

    protected AbstractDataset() {
        this.group = new DatasetGroup();
        this.listenerList = new EventListenerList();
        this.notify = true;
    }