io.vavr.collection.Array.get()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(7.1k)|赞(0)|评价(0)|浏览(138)

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

Array.get介绍

暂无

代码示例

代码示例来源:origin: vavr-io/vavr

@Override
public int lastIndexOf(T element, int end) {
  for (int i = Math.min(end, length() - 1); i >= 0; i--) {
    if (Objects.equals(get(i), element)) {
      return i;
    }
  }
  return -1;
}

代码示例来源:origin: vavr-io/vavr

@Override
public Array<T> update(int index, Function<? super T, ? extends T> updater) {
  Objects.requireNonNull(updater, "updater is null");
  return update(index, updater.apply(get(index)));
}

代码示例来源:origin: vavr-io/vavr

@Override
public int indexOf(T element, int from) {
  for (int i = from; i < length(); i++) {
    if (Objects.equals(get(i), element)) {
      return i;
    }
  }
  return -1;
}

代码示例来源:origin: vavr-io/vavr

@Override
public <U> Array<U> map(Function<? super T, ? extends U> mapper) {
  Objects.requireNonNull(mapper, "mapper is null");
  final Object[] arr = new Object[length()];
  for (int i = 0; i < delegate.length; i++) {
    arr[i] = mapper.apply(get(i));
  }
  return wrap(arr);
}

代码示例来源:origin: vavr-io/vavr

@Override
public Array<T> removeFirst(Predicate<T> predicate) {
  Objects.requireNonNull(predicate, "predicate is null");
  int found = -1;
  for (int i = 0; i < length(); i++) {
    final T value = get(i);
    if (predicate.test(value)) {
      found = i;
      break;
    }
  }
  if (found < 0) {
    return this;
  } else {
    return removeAt(found);
  }
}

代码示例来源:origin: vavr-io/vavr

@Override
public Array<T> removeLast(Predicate<T> predicate) {
  Objects.requireNonNull(predicate, "predicate is null");
  int found = -1;
  for (int i = length() - 1; i >= 0; i--) {
    final T value = get(i);
    if (predicate.test(value)) {
      found = i;
      break;
    }
  }
  if (found < 0) {
    return this;
  } else {
    return removeAt(found);
  }
}

代码示例来源:origin: vavr-io/vavr

@Override
public Array<T> remove(T element) {
  int index = -1;
  for (int i = 0; i < length(); i++) {
    final T value = get(i);
    if (Objects.equals(element, value)) {
      index = i;
      break;
    }
  }
  if (index < 0) {
    return this;
  } else {
    return removeAt(index);
  }
}

代码示例来源:origin: vavr-io/vavr

@Override
public Array<T> replaceAll(T currentElement, T newElement) {
  final Object[] arr = new Object[length()];
  boolean changed = false;
  for (int i = 0; i < length(); i++) {
    final T value = get(i);
    if (Objects.equals(currentElement, value)) {
      arr[i] = newElement;
      changed = true;
    } else {
      arr[i] = delegate[i];
    }
  }
  return changed ? wrap(arr) : this;
}

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

private Optional<RowMapper<?>> buildMapper(Class<? extends Tuple> tupleClass, Array<Optional<RowMapper<?>>> colMappers) {
  Array<? extends RowMapper<?>> cms = colMappers.map(Optional::get);
  return Optional.of((rs, ctx) ->
      buildTuple(tupleClass, i -> cms.get(i).map(rs, ctx)));
}

代码示例来源:origin: vavr-io/vavr

@Override
public Array<T> replace(T currentElement, T newElement) {
  final Object[] arr = new Object[length()];
  boolean found = false;
  for (int i = 0; i < length(); i++) {
    final T value = get(i);
    if (found) {
      arr[i] = delegate[i];
    } else {
      if (Objects.equals(currentElement, value)) {
        arr[i] = newElement;
        found = true;
      } else {
        arr[i] = delegate[i];
      }
    }
  }
  return found ? wrap(arr) : this;
}

代码示例来源:origin: vavr-io/vavr

@Override
public Tuple2<Array<T>, Array<T>> splitAtInclusive(Predicate<? super T> predicate) {
  Objects.requireNonNull(predicate, "predicate is null");
  for (int i = 0; i < delegate.length; i++) {
    final T value = get(i);
    if (predicate.test(value)) {
      if (i == delegate.length - 1) {
        return Tuple.of(this, empty());
      } else {
        return Tuple.of(take(i + 1), drop(i + 1));
      }
    }
  }
  return Tuple.of(this, empty());
}

代码示例来源:origin: vavr-io/vavr

@Override
public <T1, T2> Tuple2<Array<T1>, Array<T2>> unzip(
    Function<? super T, Tuple2<? extends T1, ? extends T2>> unzipper) {
  Objects.requireNonNull(unzipper, "unzipper is null");
  if (isEmpty()) {
    return Tuple.of(empty(), empty());
  } else {
    final Object[] xs = new Object[delegate.length];
    final Object[] ys = new Object[delegate.length];
    for (int i = 0; i < delegate.length; i++) {
      final Tuple2<? extends T1, ? extends T2> t = unzipper.apply(get(i));
      xs[i] = t._1;
      ys[i] = t._2;
    }
    return Tuple.of(wrap(xs), wrap(ys));
  }
}

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

Array<Tuple3<Type, Integer, Option<String>>> resolveKeyValueColumns(ConfigRegistry config, Array<Tuple2<Type, Integer>> tupleTypes) {
  Array<Tuple3<Type, Integer, Option<String>>> withConfiguredColumnName;
  Tuple2<Type, Integer> keyType = tupleTypes.get(0);
  Tuple2<Type, Integer> valueType = tupleTypes.get(1);
  withConfiguredColumnName = Array.of(
      Tuple.of(keyType._1, keyType._2, Option.of(config.get(TupleMappers.class).getKeyColumn())),
      Tuple.of(valueType._1, valueType._2, Option.of(config.get(TupleMappers.class).getValueColumn()))
  );
  return withConfiguredColumnName;
}

代码示例来源:origin: vavr-io/vavr

@Override
public <T1, T2, T3> Tuple3<Array<T1>, Array<T2>, Array<T3>> unzip3(Function<? super T, Tuple3<? extends T1, ? extends T2, ? extends T3>> unzipper) {
  Objects.requireNonNull(unzipper, "unzipper is null");
  if (isEmpty()) {
    return Tuple.of(empty(), empty(), empty());
  } else {
    final Object[] xs = new Object[delegate.length];
    final Object[] ys = new Object[delegate.length];
    final Object[] zs = new Object[delegate.length];
    for (int i = 0; i < delegate.length; i++) {
      final Tuple3<? extends T1, ? extends T2, ? extends T3> t = unzipper.apply(get(i));
      xs[i] = t._1;
      ys[i] = t._2;
      zs[i] = t._3;
    }
    return Tuple.of(wrap(xs), wrap(ys), wrap(zs));
  }
}

代码示例来源:origin: io.vavr/vavr

@Override
public int indexOf(T element, int from) {
  for (int i = from; i < length(); i++) {
    if (Objects.equals(get(i), element)) {
      return i;
    }
  }
  return -1;
}

代码示例来源:origin: io.vavr/vavr

@Override
public int lastIndexOf(T element, int end) {
  for (int i = Math.min(end, length() - 1); i >= 0; i--) {
    if (Objects.equals(get(i), element)) {
      return i;
    }
  }
  return -1;
}

代码示例来源:origin: io.vavr/vavr

@Override
public Array<T> update(int index, Function<? super T, ? extends T> updater) {
  Objects.requireNonNull(updater, "updater is null");
  return update(index, updater.apply(get(index)));
}

代码示例来源:origin: io.vavr/vavr

@Override
public <U> Array<U> map(Function<? super T, ? extends U> mapper) {
  Objects.requireNonNull(mapper, "mapper is null");
  final Object[] arr = new Object[length()];
  for (int i = 0; i < delegate.length; i++) {
    arr[i] = mapper.apply(get(i));
  }
  return wrap(arr);
}

代码示例来源:origin: vavr-io/vavr-jackson

@Test
public void testArray() throws Exception {
  Array<A> src = Array.of(new B("a", "b"));
  String json = MAPPER.writeValueAsString(new ArrayPojo().setValue(src));
  Assert.assertEquals(json, "{\"value\":[{\"ExtFieldsPojoTest$B\":{\"a\":\"a\",\"b\":\"b\"}}]}");
  ArrayPojo pojo = MAPPER.readValue(json, ArrayPojo.class);
  Array<A> restored = pojo.getValue();
  Assert.assertTrue(restored.get(0) instanceof B);
  Assert.assertEquals(restored.get(0).a, "a");
  Assert.assertEquals(((B) restored.get(0)).b, "b");
}

代码示例来源:origin: vavr-io/vavr-jackson

@Test
public void testArray() throws Exception {
  Array<I> src = Array.of(new A(), new B());
  String json = MAPPER.writeValueAsString(new ArrayPojo().setValue(src));
  Assert.assertEquals(json, "{\"value\":[{\"type\":\"a\"},{\"type\":\"b\"}]}");
  ArrayPojo pojo = MAPPER.readValue(json, ArrayPojo.class);
  Array<I> restored = pojo.getValue();
  Assert.assertTrue(restored.get(0) instanceof A);
  Assert.assertTrue(restored.get(1) instanceof B);
}

相关文章