2024-07-06 02:48:35 +02:00

75 lines
1.6 KiB
Java

package com.bernard.greposimu;
import java.util.AbstractMap;
import java.util.AbstractSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import com.bernard.greposimu.model.game.Identified;
public class Utils {
public static final double poly5(double a0, double a1, double a2, double a3, double a4, double a5, double x) {
return
a0 +
a1 * x +
a2 * x * x +
a3 * x * x * x +
a4 * x * x * x * x +
a5 * x * x * x * x * x;
}
public static final <T extends Identified> T getIdentified(Set<T> set, String id) {
return set.stream().filter(x -> x.getId().equals(id)).findAny().orElse(null);
}
public static final <T> Map<T,Boolean> setToMap(Set<T> set){
return new AbstractMap<T,Boolean>() {
@Override
public Set<Entry<T, Boolean>> entrySet() {
return new AbstractSet<Map.Entry<T,Boolean>>() {
@Override
public Iterator<Entry<T, Boolean>> iterator() {
Iterator<T> it = set.iterator();
return new Iterator<Map.Entry<T,Boolean>>() {
@Override
public boolean hasNext() {
return it.hasNext();
}
@Override
public Entry<T, Boolean> next() {
// TODO Auto-generated method stub
return new AbstractMap.SimpleEntry<>(it.next(), true);
}
@Override
public void remove() {
it.remove();
}
};
}
@Override
public int size() {
return set.size();
}
};
}
@Override
public Boolean put(T k, Boolean v) {
Boolean old = set.contains(k);
if(v != null && v)
set.add(k);
return old;
}
};
}
}