一个实例的多个属性

时间:2018-05-20 15:03:59

标签: java data-structures

我试图创建一个数据结构。

数据结构的定义是,一个桶可以有多个事务,每个事务都附加一条消息,也可以有许多键值对作为属性。(一个事务可以有1到N个属性(Key-Value)对)

这是我的代码段

    import java.util.ArrayList;
    import java.util.List;

    public class TransactionDemo {

        private List<Transactions> transactions = new ArrayList<Transactions>();

        public void createTransaction(String inp) {

            this.transactions.add((new Transactions(inp)));

        }

        public List<Transactions> getTransactions() {

            return transactions;
        }

    }



public class Transactions {

    String transactionMesage;
    private List<Properties> transactionsProperty = new ArrayList<Properties>(); 


    public Transactions(String inp){

        this.transactionMesage = inp;
    }

    public void setTransactionProperty(String key, String value){

        this.transactionsProperty.add(new Properties(key, value));

    }
}




public class Properties {

    String key;
    String value;

    public Properties(String key, String value) {

        this.key = key;
        this.value = value;

    }

}




public class MainTransactionClass {

    public static void main(String[] args){

        TransactionDemo createDataStructure = new TransactionDemo();
        createDataStructure.createTransaction("Alan");
        createDataStructure.createTransaction("Jon");
        System.out.println(createDataStructure.getTransactions().get(0).transactionMesage);
        System.out.println(createDataStructure.getTransactions().get(1).transactionMesage);

    }

}

我能够管理存储桶(List)中的多个事务,其中一个关联消息但相同的消息也可以具有多个属性作为键值对。每个Transaction都应该有自己的一组属性和相关的消息。

我可以知道如何实现每个事务都有自己的一组Key值对的地方吗?

1 个答案:

答案 0 :(得分:0)

message类型更改为MapProperties列表:

public class Transactions {
    private List<Properties> message; // Or Map<String, String> message
    private List<Properties> transactionsProperty;
}