Java的比较类特定对象数组排序 [英] Java Comparator class to sort particular object array
本文介绍了Java的比较类特定对象数组排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个int数组和字符串数组。 与特定字符串每个浮点值一致。 我想float数组保持使用自己的字符串进行排序:
公共静态< T>无效排序(T []一,比较和LT ;?超级T> C)
下面是code:
公共类ResultVoiceObject
{
私人字符串frase;
私人持股量排名;
公共ResultVoiceObject(字符串型F,浮动R)
{
this.frase = F;
this.ranking = R;
}
}
公共类VoiceRecognitionDemo扩展活动
{
//填充的字符串的wordsList值识别引擎认为它闻
ArrayList的<字符串>比赛= data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
//金正日排名
浮动[]得分= data.getFloatArrayExtra(RecognizerIntent.EXTRA_CONFIDENCE_SCORES);
ResultVoiceObject [] risultati =新ResultVoiceObject [score.length]
对于(i = 0; I< risultati.length;我++)
{
risultati [I] =新ResultVoiceObject(matches.get(i)中,分数[I]);
}
ResultVoiceObject [] risultatiDaOrdinare = risultati; // risultati contais ResultVoiceObject元素
/ *排序* /
}
我如何排序的排名和保持自己的字符串?
多谢了。
解决方案
ResultVoiceObject []对象= ...
Arrays.sort(对象,新的比较< ResultVoiceObject>(){
@覆盖
公众诠释比较(ResultVoiceObject为arg0,ResultVoiceObject ARG1){
返回Float.compare(arg0.getRanking(),arg1.getRanking());
}
});
I have a float array and a String array. each float value match with a specific String. I would like to sort the float array keeping the own string using :
public static <T> void sort(T[] a,Comparator<? super T> c)
Here is the code:
public class ResultVoiceObject
{
private String frase;
private float ranking;
public ResultVoiceObject(String f, float r)
{
this.frase=f;
this.ranking= r;
}
}
public class VoiceRecognitionDemo extends Activity
{
// Populate the wordsList with the String values the recognition engine thought it heard
ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
//il Ranking
float[] score= data.getFloatArrayExtra(RecognizerIntent.EXTRA_CONFIDENCE_SCORES);
ResultVoiceObject[] risultati= new ResultVoiceObject[score.length];
for (i=0; i<risultati.length;i++)
{
risultati[i]=new ResultVoiceObject(matches.get(i), score[i]);
}
ResultVoiceObject[] risultatiDaOrdinare= risultati; // risultati contais ResultVoiceObject elements
/*sorting*/
}
How can I sort by ranking and keeping the own String?
Thanks a lot.
解决方案
ResultVoiceObject[] objects = ...
Arrays.sort(objects, new Comparator<ResultVoiceObject>() {
@Override
public int compare(ResultVoiceObject arg0, ResultVoiceObject arg1) {
return Float.compare(arg0.getRanking(), arg1.getRanking());
}
});
这篇关于Java的比较类特定对象数组排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文