【说站】Java中aslist如何使用?
2024-10-30
14
Java中aslist如何使用?
作用
1、是返回由指定数组支持的固定尺寸列表。
2、此方法返回的ArrayList并非我们常用的集合类java.util.ArrayList。ArrayList是Arrays的内部类java.util.Arrays.ArrayList。
实例
private static class ArrayList<E> extends AbstractList<E> implements RandomAccess, java.io.Serializable { private static final long serialVersionUID = -2764017481108945198L; private final E[] a; ArrayList(E[] array) { a = Objects.requireNonNull(array); } @Override public int size() { return a.length; } @Override public Object[] toArray() { return a.clone(); } @Override @SuppressWarnings("unchecked") public <T> T[] toArray(T[] a) { int size = size(); if (a.length < size) return Arrays.copyOf(this.a, size, (Class<? extends T[]>) a.getClass()); System.arraycopy(this.a, 0, a, 0, size); if (a.length > size) a[size] = null; return a; } @Override public E get(int index) { return a[index]; } @Override public E set(int index, E element) { E oldValue = a[index]; a[index] = element; return oldValue; } @Override public int indexOf(Object o) { E[] a = this.a; if (o == null) { for (int i = 0; i < a.length; i++) if (a[i] == null) return i; } else { for (int i = 0; i < a.length; i++) if (o.equals(a[i])) return i; } return -1; } @Override public boolean contains(Object o) { return indexOf(o) != -1; } @Override public Spliterator<E> spliterator() { return Spliterators.spliterator(a, Spliterator.ORDERED); } @Override public void forEach(Consumer<? super E> action) { Objects.requireNonNull(action); for (E e : a) { action.accept(e); } } @Override public void replaceAll(UnaryOperator<E> operator) { Objects.requireNonNull(operator); E[] a = this.a; for (int i = 0; i < a.length; i++) { a[i] = operator.apply(a[i]); } } @Override public void sort(Comparator<? super E> c) { Arrays.sort(a, c); } }
以上就是Java中aslist的使用,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。
更新于:12天前赞一波!
相关文章
- 【说站】java中有哪些时间API?
- 【说站】java Stream如何操作元素
- 【说站】java中Comparators是什么
- 【说站】java Lambda访问变量
- 【说站】java Match如何使用
- 【说站】java有哪些内置的函数式接口
- 【说站】java接口中静态方法的继承
- 【说站】java Reduce的三种重载
- 【说站】java Sorted的使用注意点
- 【说站】java虚拟扩展方法如何实现
- 【说站】java数组中元素求和的实例
- 【说站】java数组如何遍历全部的元素
- 【说站】java接口如何使用默认方法
- 【说站】java不同锁模式下的插队探究
- 【说站】java数组如何计算最大值
- 【说站】java线程池的优缺点分析
- 【说站】java停止线程的方式
- 【说站】java throw和throws的区别
- 【说站】java线程池关闭的方法
- 【说站】java怎么从键盘输入数据
文章评论
评论问答