优化股票推荐数据排序
This commit is contained in:
@@ -12,10 +12,9 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.util.ReflectionUtils;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Arrays;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* RefinitivUtil
|
||||
@@ -369,16 +368,32 @@ public class RefinitivUtil {
|
||||
}
|
||||
|
||||
public static List<String> decodeTopData(InstrumentData instrumentData) {
|
||||
List<String> list = Lists.newArrayList();
|
||||
List<String> list = new ArrayList<>(100);
|
||||
instrumentData.getDataMap().forEach((k, v) -> {
|
||||
if (k.startsWith("BR_LINK")) {
|
||||
if (!v.contains("blank data")) {
|
||||
list.add(v);
|
||||
list.add(k);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return list;
|
||||
List<String> stringList = list.stream().sorted(topComparator()).collect(Collectors.toList());
|
||||
|
||||
List<String> result = new ArrayList<>();
|
||||
for (String key : stringList) {
|
||||
result.add(instrumentData.getDataMap().get(key));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private static Comparator<String> topComparator() {
|
||||
String flag = "BR_LINK";
|
||||
return (s1, s2) -> {
|
||||
String seqStr1 = s1.substring(flag.indexOf(s1) + flag.length() + 1);
|
||||
String seqStr2 = s2.substring(flag.indexOf(s2) + flag.length() + 1);
|
||||
int seq1 = Integer.parseInt(seqStr1);
|
||||
int seq2 = Integer.parseInt(seqStr2);
|
||||
return seq1 - seq2;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user