から重複した値の削除:私のJSONデータは、私は次のコードを使用してJSONデータからスピナーをロードしようとしていますスピナー
私はJSONデータで[
{
"name":"Manoj",
"surname":"Jadhav",
"age":"18",
"div":"A",
"standard":"7"
},
{
"name":"Nilesh",
"surname":"Patankar",
"age":"17",
"div":"B",
"standard":"7"
},
{
"name":"Gourav",
"surname":"Patil",
"age":"18",
"div":"A",
"standard":"8"
},
{
"name":"Pushkar",
"surname":"Ganpule",
"age":"17",
"div":"A",
"standard":"7"
},
{
"name":"Prashant",
"surname":"Raut",
"age":"18",
"div":"A",
"standard":"8"
},
{
"name":"Nachiket",
"surname":"Salvi",
"age":"17",
"div":"A",
"standard":"7"
},
{
"name":"Hiren",
"surname":"Lakhmani",
"age":"18",
"div":"B",
"standard":"6"
}
]
ある
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<String> items = getCountries("data.json");
Spinner spinner = (Spinner)findViewById(R.id.spinnerStandard);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.second_layout,R.id.txtStandard,items);
spinner.setAdapter(adapter);
}
private ArrayList<String> getCountries(String fileName){
JSONArray jsonArray = null;
ArrayList<String> cList = new ArrayList<String>();
try {
InputStream is = getResources().getAssets().open(fileName);
int size = is.available();
byte[] data = new byte[size];
is.read(data);
is.close();
String json = new String(data, "UTF-8");
jsonArray=new JSONArray(json);
if (jsonArray != null) {
for (int i = 0; i < jsonArray.length(); i++) {
cList.add(jsonArray.getJSONObject(i).getString("standard"));
}
}
}
catch (IOException e)
{
e.printStackTrace();
}
catch (JSONException je)
{
je.printStackTrace();
}
return cList;
}
をjsonからユニークな値だけをスピナーにロードしたいときに重複した標準値を持っています(標準値は7,7,8,7,8,7,6あり、私はそれらのうち6,7,8を表示したい重複値)
私はすべてのオプションや他の多くのバリエーションについて考えてみましたが、有用な結果が見つからないので、私は明らかに何かが欠けています。
重複する値を削除する正しい方法は何ですか?
簡単な方法では、cList weatherをチェックする必要があります。私は(!cList.contains(Standard))が動作するかどうかは、 –