Java で特定の問題を解決するのに問題があります (検索では見つかりませんでした)。オブジェクトのネストされたリストを作成する方法がわかりません - 最後に異なるタイプのオブジェクト/プリミティブタイプがあります。例えば:
※注:一例です。私は実際に以下でこれを従業員以外で行っていますが、簡単な例として役立ちます。
オブジェクト Employee の配列があります。従業員に関する情報が含まれています。
public class Employee {
int age
int salary
int yearsWorking
public Employee () {
// constructor...
}
// Accessors
}
私がする必要があるのは、従業員を分位/パーセンタイルで整理することです。私は次のようにしました:
import org.apache.commons.math.stat.descriptive.rank.Percentile;
public class EmployeeSort {
public void main(String args[]) {
Percentile p = new Percentile();
Employee[] employeeArray = new Employee[100];
// filled employeeArray
double[] ageArray = new double[100];
// filled ageArray with ages from employeeArray
int q = 25; // Percentile cutoff
for (int i = 1; i*q < 100; i++) {
// assign percentile cutoff to some array to contain the values
}
}
}
さて、私が抱えている問題は、従業員を最初に年齢のパーセンタイルで整理し、次に勤続年数のパーセンタイルで整理し、最後に給与のパーセンタイルで整理する必要があることです。この問題を解決するには、現時点で私の Java の知識が不十分ですが、私が渡されたプロジェクトは Java でした。私は主に python 派なので、この問題はその言語の方がはるかに簡単だったでしょう。そのような幸運はありません。
編集:注文が必要かどうかについて混乱があり、Comparatorの使用を提案している人もいます。パーセンタイルには順序付けられたリストが必要なため、Comparator を使用します。私が抱えている問題は、従業員のビニングを適切なパーセンタイルに格納する方法です。明確にするために、年齢ごとに適切なパーセンタイルにまとめられた Employee オブジェクトが必要です。次に、その年齢のビン内で、すべての Employee オブジェクトを Employee.yearsWorking のパーセンタイル内にビン化する必要があります。それに続いて、Employee.age の特定のパーセンタイル ビン内にある yearWorking の特定のパーセンタイル ビン内で、Employee.salary のパーセンタイル ビンを作成する必要があります。