Java 如何创建深度表/列表并从中插入/读取数据

Java 如何创建深度表/列表并从中插入/读取数据,java,Java,我想用Java创建一个表/列表,我想知道处理它的最佳方法是什么。 表的结构应如下所示: Term propertyList entitiesList a1 p1=1, p2=2, p3=2 T1,T2 a2 p5=0, p4=5 ,p3=3 T2,T1 a3 p1=1 ,p4=3, p3=9 T3,T1,T2 ... a10 我有一个正好有10个术语的列表,每个术语都有一个属性

我想用Java创建一个表/列表,我想知道处理它的最佳方法是什么。 表的结构应如下所示:

Term     propertyList         entitiesList 

a1      p1=1, p2=2, p3=2          T1,T2  
a2      p5=0, p4=5 ,p3=3          T2,T1 
a3      p1=1 ,p4=3, p3=9          T3,T1,T2
...
a10
我有一个正好有10个术语的列表,每个术语都有一个属性列表(deep with key and value),属性可以在一个或多个实体中

我需要一些关于如何创建它的帮助,例如,我应该使用列表、地图、集合等吗。
如何在代码中将硬编码值作为文本添加到它们中,以及从中读取数据的最佳方式是什么,同时考虑到性能,考虑到以后我将需要对每个实体使用此方法,并查找参与每个术语的相关属性。

看起来您可能具有以下结构:

class Term {
    String id;
    Map<String, String> properties;
    List<Entity> entities; // (or Set<Entity> if no duplicates are allowed)
}
类术语{
字符串id;
地图属性;
列出实体;//(如果不允许重复,则设置)
}

但“深度”和“属性可以在一个或多个实体中”的含义并不十分清楚

所以您有了术语列表:
list

学期班

public class Term {
   private String mName = "";
   private Map<String, Integer> mPropertyMap = new LinkedHashMap<String, Integer>();
   private List<String> mEntitiesList = new ArrayList<String>();

   public Term(String name) {
       mName = name;
   }

   public void generate(Map<String, Integer> propertyMap,   List<String> entitiesList) {
    mPropertyMap = propertyMap;
    mEntitiesList = entitiesList;
   }

  public Map<String, Integer> getPropertyMap() {
    return mPropertyMap;
}

public void setPropertyMap(Map<String, Integer> propertyMap) {
    this.mPropertyMap = propertyMap;
}

public List<String> getEntitiesList() {
    return mEntitiesList;
}

public void setEntitiesList(List<String> entitiesList) {
    this.mEntitiesList = entitiesList;
}

public String getName() {
    return mName;
}

public void setmName(String name) {
    this.mName = name;
}

}
 public class MyClass {

private List<Term> mTermList = null;

private void init() {
    mTermList = new ArrayList<Term>();
}


private void addSomeTerm() {
     Map<String, Integer> propertyMap = new LinkedHashMap<String, Integer>();

     propertyMap.put("p1", 1);
     propertyMap.put("p2", 2);
     propertyMap.put("p3", 3);

     List<String> entitiesList = new ArrayList<String>();
     entitiesList.add("T1");
     entitiesList.add("T2");


     Term term = new Term("a1");
     term.generate(propertyMap, entitiesList);

     mTermList.add(term);
}

private String printTerms() {

    StringBuilder buff = new StringBuilder();

    for(Term currTerm : mTermList){

        buff.append(currTerm.getName()).append("     ");

        Map<String, Integer> propertyMap = currTerm.getPropertyMap();


        Set<String> sets = propertyMap.keySet();

        Iterator<String> itr = sets.iterator();

        String key = null;
        Integer value = null;

        while(itr.hasNext()){

            key = itr.next();               
            value = propertyMap.get(key);

            buff.append(key + "=" + value).append(",");
        }

        buff.setLength(buff.length()-1); // remove last ','

        buff.append("     ");

        List<String> entitiesList = currTerm.getEntitiesList();

        for(String str : entitiesList){
            buff.append(str).append(",");
        }

        buff.setLength(buff.length()-1); // remove last ','         

    }

    return buff.toString();
}


/**
 * @param args
 */
public static void main(String[] args) {

    MyClass m = new MyClass();
    m.init();

    m.addSomeTerm();

    System.out.println(m.printTerms());
}

我的意思是属性可以有键,键是属性的名称和值,为什么要用类创建它?我怎样才能像表中一样添加数据呢。谢谢Java是一种面向对象的语言。不能创建类以外的数据结构。看起来你需要学习基础知识。谷歌的“甲骨文Java教程”。你能提供一些小例子,我怎样才能像我在例子中提供的那样为它添加数据。谢谢
 a1     p1=1,p2=2,p3=3     T1,T2