Scala 2.11.8を使用しています。戻り値を保証する方法StringListが注文されます:Scala
私のプロパティファイルからクエリを読み込もうとしています。各クエリセットには複数の部分があります(以下で説明します)
これらのクエリを実行する必要がある特定のシーケンスがあります。
コード:
import com.typesafe.config.ConfigFactory
object ReadProperty {
def main(args : Array[String]): Unit = {
val queryRead = ConfigFactory.load("testqueries.properties").getConfig("select").getStringList("caseInc").toArray()
val localRead = ConfigFactory.load("testqueries.properties").getConfig("select").getStringList("caseLocal").toArray.toSet
queryRead.foreach(println)
localRead.foreach(println)
}
}
PropertyFile内容:
select.caseInc.2 = Select emp_salary, emp_dept_id from employees
select.caseLocal.1 = select one
select.caseLocal.3 = select three
select.caseRemote.2 = Select e1.emp_name, d1.dept_name, e1.salary from emp_1 e1 join dept_1 d1 on(e1.emp_dept_id = d1.dept_id)
select.caseRemote.1 = Select * from departments
select.caseInc.1 = Select emp_id, emp_name from employees
select.caseLocal.2 = select two
select.caseLocal.4 = select four
出力:我々はOUTPで見ることができるように
Select emp_id, emp_name from employees
Select emp_salary, emp_dept_id from employees
select one
select two
select three
select four
結果は、にソートされています。プロパティでは、シーケンス内のクエリに番号を付けることを試みたのを見たら、それは実行する必要があります(caseInc、caseLocalを引数として渡します)。
getStringList()では、私が提供しているシーケンス番号に基づいて常にソートリストを取得しています。
toArray()を使用しようとしたときでも& toArray()。toSet私は出力をソートしています。
これまでのところ、その良い
しかし、それは常に私がプロパティファイルで提供されているソート順に戻りますことを確認してくださいする方法について説明します。どういうわけか私は返されたListがソートされるというAPIを見つけることができないので混乱しています。