2
抽象メソッドにいくつかの機能を実装する必要があるタスクがあります。アイデアは、Java 8を使用することですが、私は、Java 8は、以下で、プログラミングにちょっと新たなんだ、私は実装する必要がある抽象クラスです:Javaを使用したカスタムマップのフィルタリングと翻訳機能8
public abstract class SortedMap<K extends Comparable<K>, V> implements Iterable<Pair<K, V>>
{
/**
* Returns a map where all values have been translated using the function
* <code>f</code>.
*/
public abstract <C> SortedMap<K, C> map(Function<? super V, ? extends C> f);
/**
* Returns a map containing only the keys that satisfies
* the predicate <code>p</code>.
*/
public abstract SortedMap<K, V> filter(Predicate<? super K> p);
// ...
}
私は、Java 8で(これまで持っているもの)である:
public final class SortedMapImpl<K extends Comparable<K>, V> extends SortedMap<K,V>
{
private final Map<K, V> map;
private SortedMapImpl(Map<K, V> map)
{
this.map = new HashMap<K, V>(map);
}
@Override
public <C> SortedMap<K, C> map(Function<? super V, ? extends C> f)
{
// TODO Auto-generated method stub
return null;
}
@Override
public SortedMap<K, V> filter(Predicate<? super K> p)
{
final Map<K, V> filteredMap = map.entrySet()
.stream()
.filter(Predicate<? super Entry<K, V>> p)
.collect(Collectors.toMap(p -> p.getKey(), p -> p.getValue()));
return new SortedMapImpl<K, V>(filteredMap);
}
// ...
}
あなたは私がマップ()メソッドを実装する方法を、現時点では何の手掛かりを得なかっきた、とフィルター方法は、少なくとも部分的に間違っている見ることができるように。どんな助けでも大歓迎です!
ありがとうございました!私はあなたのフィルタの実装を理解しようとしていますし、うまくいけばマップの実装を理解することができます:) – yowazzupjoe
小さな修正、私はそれが '.filter(エントリ - > p.test(entry) getkey())) ' の代わりに ' .filter(entry - > predicate.test(entry.getKey())) ' – yowazzupjoe