com.fpinjava.common.Function.apply()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(6.1k)|赞(0)|评价(0)|浏览(142)

本文整理了Java中com.fpinjava.common.Function.apply()方法的一些代码示例,展示了Function.apply()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Function.apply()方法的具体详情如下:
包路径:com.fpinjava.common.Function
类名称:Function
方法名:apply

Function.apply介绍

暂无

代码示例

代码示例来源:origin: fpinjava/fpinjava

private boolean isEquals(Cons<?> o) {
  Function<Result<A>, Function<Result<?>, Boolean>> equals = x -> y -> x.flatMap(a -> y.map(a::equals)).getOrElse(() -> false);
  return zipAll(o).foldRight(true, x -> y -> equals.apply(x._1).apply(x._2));
 }
}

代码示例来源:origin: fpinjava/fpinjava

private <B> TailCall<B> foldLeft(B acc, List<A> list, Function<B, Function<A, B>> f) {
 return list.isEmpty()
   ? ret(acc)
   : sus(() -> foldLeft(f.apply(acc).apply(list.head()), list.tail(), f));
}

代码示例来源:origin: fpinjava/fpinjava

private <B> TailCall<Tuple<B, List<A>>> foldLeft(B acc, B zero, List<A> list, Function<B, Function<A, B>> f) {
 return list.isEmpty() || acc.equals(zero)
   ? ret(new Tuple<>(acc, list))
   : sus(() -> foldLeft(f.apply(acc).apply(list.head()), zero, list.tail(), f));
}

代码示例来源:origin: fpinjava/fpinjava

private <B> TailCall<Tuple<B, List<A>>> foldLeft(B acc, B zero, List<A> list, Function<B, Function<A, B>> f) {
 return list.isEmpty() || acc.equals(zero)
   ? ret(new Tuple<>(acc, list))
   : sus(() -> foldLeft(f.apply(acc).apply(list.head()), zero, list.tail(), f));
}

代码示例来源:origin: fpinjava/fpinjava

private <B> TailCall<B> foldLeft_(B acc, List<A> list, Function<B, Function<A, B>> f) {
 return list.isEmpty()
   ? ret(acc)
   : sus(() -> foldLeft_(f.apply(acc).apply(list.head()), list.tail(), f));
}

代码示例来源:origin: fpinjava/fpinjava

/**
 * Caution: not stack safe
 */
public static <A, S> List<A> unfold_(S z, Function<S, Result<Tuple<A, S>>> f) {
 return f.apply(z).map(x -> unfold_(x._2, f).cons(x._1)).getOrElse(list());
}

代码示例来源:origin: fpinjava/fpinjava

private TailCall<List<A>> dropWhile_(List<A> list, Function<A, Boolean> f) {
 return !list.isEmpty() && f.apply(list.head())
   ? sus(() -> dropWhile_(list.tail(), f))
   : ret(list);
}

代码示例来源:origin: fpinjava/fpinjava

private static <A, S> TailCall<List<A>> unfold(List<A> acc, S z, Function<S, Result<Tuple<A, S>>> f) {
 Result<Tuple<A, S>> r = f.apply(z);
 Result<TailCall<List<A>>> result = r.map(rt -> sus(() -> unfold(acc.cons(rt._1), rt._2, f)));
 return result.getOrElse(ret(acc));
}

代码示例来源:origin: fpinjava/fpinjava

private TailCall<List<A>> dropWhile_(List<A> list, Function<A, Boolean> f) {
 return !list.isEmpty() && f.apply(list.head())
   ? sus(() -> dropWhile_(list.tail(), f))
   : ret(list);
}

代码示例来源:origin: fpinjava/fpinjava

private TailCall<List<A>> dropWhile_(List<A> list, Function<A, Boolean> f) {
 return !list.isEmpty() && f.apply(list.head())
   ? sus(() -> dropWhile_(list.tail(), f))
   : ret(list);
}

代码示例来源:origin: fpinjava/fpinjava

private TailCall<List<A>> dropWhile_(List<A> list, Function<A, Boolean> f) {
 return !list.isEmpty() && f.apply(list.head())
   ? sus(() -> dropWhile_(list.tail(), f))
   : ret(list);
}

代码示例来源:origin: fpinjava/fpinjava

private TailCall<List<A>> dropWhile_(List<A> list, Function<A, Boolean> f) {
 return !list.isEmpty() && f.apply(list.head())
   ? sus(() -> dropWhile_(list.tail(), f))
   : ret(list);
}

代码示例来源:origin: fpinjava/fpinjava

private TailCall<List<A>> dropWhile_(List<A> list, Function<A, Boolean> f) {
 return !list.isEmpty() && f.apply(list.head())
   ? sus(() -> dropWhile_(list.tail(), f))
   : ret(list);
}

代码示例来源:origin: fpinjava/fpinjava

private TailCall<List<A>> dropWhile_(List<A> list, Function<A, Boolean> f) {
 return !list.isEmpty() && f.apply(list.head())
   ? sus(() -> dropWhile_(list.tail(), f))
   : ret(list);
}

代码示例来源:origin: fpinjava/fpinjava

private TailCall<List<A>> dropWhile_(List<A> list, Function<A, Boolean> f) {
 return !list.isEmpty() && f.apply(list.head())
   ? sus(() -> dropWhile_(list.tail(), f))
   : ret(list);
}

代码示例来源:origin: fpinjava/fpinjava

private static <A, S> TailCall<List<A>> unfold(List<A> acc, S z, Function<S, Result<Tuple<A, S>>> f) {
 Result<Tuple<A, S>> r = f.apply(z);
 Result<TailCall<List<A>>> result = r.map(rt -> sus(() -> unfold(acc.cons(rt._1), rt._2, f)));
 return result.getOrElse(ret(acc));
}

代码示例来源:origin: fpinjava/fpinjava

public <A1, A2> Tuple<List<A1>, List<A2>> unzip(Function<A, Tuple<A1, A2>> f) {
 return this.foldRight(new Tuple<>(list(), list()), a -> tl -> {
  Tuple<A1, A2> t = f.apply(a);
  return new Tuple<>(tl._1.cons(t._1), tl._2.cons(t._2));
 });
}

代码示例来源:origin: fpinjava/fpinjava

public <B> Map<B, List<A>> groupBy(Function<A, B> f) {
 return foldRight(Map.empty(), t -> mt -> {
  final B k = f.apply(t);
  return mt.put(k, mt.get(k).getOrElse(list()).cons(t));
 });
}

代码示例来源:origin: fpinjava/fpinjava

public <B> Map<B, List<A>> groupByImperative(Function<A, B> f) {
 List<A> workList = this;
 Map<B, List<A>> m = Map.empty();
 while (!workList.isEmpty()) {
  final B k = f.apply(workList.head());
  List<A> rt = m.get(k).getOrElse(list()).cons(workList.head());
  m = m.put(k, rt);
  workList = workList.tail();
 }
 return m;
}

代码示例来源:origin: fpinjava/fpinjava

public <B, C> List<C> zipWithAll(List<B> s2, Function<Tuple<Result<A>, Result<B>>, C> f) {
 Function<Tuple<List<A>, List<B>>, Result<Tuple<C, Tuple<List<A>, List<B>>>>> g = x -> x._1.isEmpty() && x._2.isEmpty()
   ? Result.empty()
   : x._2.isEmpty()
     ? Result.success(new Tuple<>(f.apply(new Tuple<>(Result.success(x._1.head()), Result.empty())), new Tuple<>(x._1.tail(), List.<B> list())))
     : x._1.isEmpty()
       ? Result.success(new Tuple<>(f.apply(new Tuple<>(Result.empty(), Result.success(x._2.head()))), new Tuple<>(List.<A> list(), x._2.tail())))
       : Result.success(new Tuple<>(f.apply(new Tuple<>(Result.success(x._1.head()), Result.success(x._2.head()))), new Tuple<>(x._1.tail(), x._2.tail())));
 return unfold(new Tuple<>(this, s2), g);
}

相关文章

微信公众号

最新文章

更多