私は<文字列>ArrayListに項目のリストを追加するには<String> in java?
prefix.propertiesをArrayListにロードする必要がある単語のリストを持っている
vocab\: = http://myweb.in/myvocab#
hydra\: = http://www.w3.org/ns/hydra/core#
schema\: = http://schema.org/
"単語:" 実際には "単語:" .Slash(\)は使用されていますそれは特殊文字であるためコロン(:)文字を読み取る。 Dictionary.javaで
Dictionary.java
public class Dictionary {
public static ArrayList<String> prefix = new ArrayList<>();
static {
Properties properties = new Properties();
InputStream input = null;
input = ClassLoader.getSystemResourceAsStream("prefix.properties");
System.out.println(input!=null);
try {
properties.load(input);
} catch (IOException e) {
e.printStackTrace();
}
Set<Map.Entry<Object, Object>> entries = properties.entrySet();
for(Map.Entry<Object, Object> E : entries)
{
prefix.add(E.getKey().toString());
prefix.add(E.getValue().toString());
}
}
}
、ArrayListの接頭辞は、私は別のクラスでは、いくつかのデータを照会しています
prefix = [
"vocab:",
"http://myweb.in/myvocab#",
"hydra:",
"http://www.w3.org/ns/hydra/core#",
"schema:",
"http://schema.org/"
]
を持つことになります。例えばのために :
public class QueryClass
{
public ArrayList<String> queryResult(String findKey)
{
ArrayList<String> result = new ArrayList<String>();
ArrayList<String> prefix = Dictionary.prefix;
Iterator<String> iterator = prefix.iterator();
while (iterator.hasNext())
{
String currentKey = iterator.next()+findKey;
/**
Here my logic to search data with this currentKey
*/
}
return result;
}
}
問題:.propertiesファイルを提供しながら、
要素の数が奇数の可能性があるので、私は.propertiesファイルからロードするには、この方法を避けたいが存在することができる(キー、値)ペアの方法でデータを格納します。
なぜ別ファイルからロードする必要があるのですか?なぜなら、将来、私はprefix.propertiesファイルにキーワード/ Stringを追加する必要があるからです。
これを行う別の方法はありますか?
実際に私はプロパティファイルを必要としません。私の要件は、単語のリストを持ち、実行時にこれらの単語のリストがQueryClass.javaクラスの "ArrayList接頭辞"に読み込まれます。なぜ私は別々に保管したいのですか?なぜなら、他のクラスで使用されているこれらの単語のリストも同じですからです。だから私は単純なテキストファイルや他の方法でそれを行うことはできますか? –
Badman
それから私の更新を見てください。 – GhostCat
JSON形式ではこれを処理できますが、私の問題はJSONと一緒に行かなくてはならないと思っています。単語のリストは単一の文字列とJavaクラスの関数にありますが、リストに追加する単語を追加する必要があるため、これを別のファイルに保存します。 – Badman