概述
package scaler.naive;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class Naive1 {
// 对实例进行排序
@SuppressWarnings("rawtypes")
public static Map.Entry[] getSortedHashtable(Map<String, Float> entity) {
// 进行实例分解(把Map中的所有键值对分解为单个实例)
Set<Entry<String, Float>> entitys = entity.entrySet();
// 获得键值对
Map.Entry[] entrys = entitys.toArray(new Map.Entry[entitys.size()]);
Arrays.sort(entrys, new Comparator<Object>() {
@Override
public int compare(Object arg0, Object arg1) {
Object value1 = ((Map.Entry) arg0).getValue();
Object value2 = ((Map.Entry) arg1).getValue();
return ((Float) value1).compareTo((Float) value2);
}
});
return entrys;
}
// 获取断点的方法
@SuppressWarnings("rawtypes")
public static List<Float> getBreakPoint(Map.Entry[] entryMap) {
float breakPoint = 0;
List<Float> breakPoints = new ArrayList<Float>();
for (int i = 0; i < entryMap.length - 1; i++) {
if (entryMap[i].getValue() != entryMap[i + 1].getValue()
|| entryMap[i].getKey() != entryMap[i + 1].getKey()) {
breakPoint = ((Float) entryMap[i].getValue() + (Float) entryMap[i + 1]
.getValue()) / 2;
breakPoints.add(breakPoint);
}
}
return breakPoints;
}
@SuppressWarnings("rawtypes")
public static void main(String args[]) {
Map<String, Float> map = new HashMap<String, Float>();
Entry[] entys;
map.put("一", (float) 1.01);
map.put("二", (float) 1.02);
map.put("三", (float) 1.03);
map.put("四", (float) 1.04);
map.put("四", (float) 1.04);
map.put("六", (float) 1.05);
map.put("七", (float) 1.06);
map.put("七", (float) 1.06);
map.put("九", (float) 1.07);
entys = Naive1.getSortedHashtable(map);
for (int i = 0; i < entys.length; i++) {
System.out.println(entys[i].getKey());
}
System.out.println("获得的断点:" + Naive1.getBreakPoint(entys));
}
}
最后
以上就是灵巧冷风为你收集整理的java实现naive scaler算法(第一个版本)的全部内容,希望文章能够帮你解决java实现naive scaler算法(第一个版本)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复