优惠码 第59页

鸿蒙OS Collections

Collections java.lang.Object |—java.util.Collections public class Collections extends Object 此类仅由对集合进行操作或返回集合的静态方法组成。 它包含对集合进行操作的多态算法,“包装器”,它返回由指定集合支持的新集合,以及其他一些零碎的东西。 如果提供给它们的集合或类对象为空,则此类的方法都会抛出 NullPointerException。 此类中包含的多态算法的文档通常包括对实现的简要描述。此类描述应被视为实现说明,而不是规范的一部分。只要遵守规范本身,实现者应该可以随意替换其他算法。 (例如,sort 使用的算法不必是归并排序,但它必须是稳定的。) 此类中包含的“破坏性”算法,即修改它们操作的集合的算法,被指定为在集合不支持适当的突变原语(例如 set 方法)时抛出 UnsupportedOperationException。如果调用对集合没有影响,这些算法可能会(但不是必须)抛出此异常。例如,在已排序的不可修改列表上调用 sort 方法可能会也可能不会抛出 UnsupportedOperationException。 此类是 Java 集合框架的成员。 字段摘要 修饰符和类型 字段 描述 static List EMPTY_LIST 空列表(不可变)。 static Map EMPTY_MAP 空map(不可变)。 static Set EMPTY_SET 空集(不可变)。 方法总结 修饰符和类型 方法 描述 static <T> boolean addAll(Collection<? super T> c, T… elements) 将所有指定元素添加到指定集合。 static <T> Queue<T> asLifoQueue(Deque<T> deque) 将 Deque 的视图返回为后进先出 (Lifo) 队列。 static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key) 使用二分搜索算法在指定列表中搜索指定对象。 static <T> int binarySearch(List<? extends T> list, T key, Comparator<? super T> c) 使用二分搜索算法在指定列表中搜索指定对象。 static <E> Collection<E> checkedCollection(Collection<E> c, Class<E> type) 返回指定集合的动态类型安全视图。 static <E> List<E> checkedList(List<E> list, Class<E> type) 返回指定列表的动态类型安全视图。 static <K,V> Map<K,V> checkedMap(Map<K,V> m, Class<K> keyType, Class<V> valueType) 返回指定映射的动态类型安全视图。 static <K,V> NavigableMap<K,V> checkedNavigableMap(NavigableMap<K,V> m, Class<K> keyType, Class<V> valueType) 返回指定可导航地图的动态类型安全视图。 static <E> NavigableSet<E> checkedNavigableSet(NavigableSet<E> s, Class<E> type) 返回指定导航集的动态类型安全视图。 static <E> Queue<E> checkedQueue(Queue<E> queue, Class<E> type) 返回指定队列的动态类型安全视图。 static <E> Set<E> checkedSet(Set<E> s, Class<E> type) 返回指定集合的动态类型安全视图。 static <K,V> SortedMap<K,V> checkedSortedMap(SortedMap<K,V> m, Class<K> keyType, Class<V> valueType) 返回指定排序映射的动态类型安全视图。 static <E> SortedSet<E> checkedSortedSet(SortedSet<E> s, Class<E> type) 返回指定排序集的动态类型安全视图。 static <T> void copy(List<? super T> dest, List<? extends T> src) 将一个列表中的所有元素复制到另一个列表中。 static boolean disjoint(Collection<?> c1, Collection<?> c2) 如果两个指定的集合没有共同的元素,则返回 true。 static <T> Enumeration<T> emptyEnumeration() 返回一个没有元素的枚举。 static <T> Iterator<T> emptyIterator() 返回一个没有元素的迭代器。 static <T> List<T> emptyList() 返回一个空列表(不可变)。 static <T> ListIterator<T> emptyListIterator() 返回一个没有元素的列表迭代器。 static <K,V> Map<K,V> emptyMap() 返回一个空映射(不可变)。 static <K,V> NavigableMap<K,V> emptyNavigableMap() 返回一个空的可导航map(不可变)。 static <E> NavigableSet<E> emptyNavigableSet() 返回一个空的可导航集(不可变)。 static <T> Set<T> emptySet() 返回一个空集(不可变)。 static <K,V> SortedMap<K,V> emptySortedMap() 返回一个空的排序映射(不可变)。 static <E> SortedSet<E> emptySortedSet() 返回一个空的排序集(不可变)。 static <T> Enumeration<T> enumeration(Collection<T> c) 返回指定集合的枚举。...

鸿蒙OS Calendar.Builder

Calendar.Builder java.lang.Object |—java.util.Calendar.Builder public static class Calendar.Builder extends Object Calendar.Builder 用于从各种日期时间参数创建日历。 有两种方法可以将日历设置为日期时间值。一种是将 Instant 参数设置为距 Epoch 的毫秒偏移量。另一种是将单个字段参数(例如 Calendar#YEAR)设置为所需的值。这两种方式不能混用。尝试同时设置即时字段和单个字段将导致抛出 IllegalStateException。但是,允许覆盖即时或字段参数的先前值。 如果没有为确定日期和/或时间提供足够的字段参数,则在构建日历时使用日历特定的默认值。例如,如果没有为公历指定 Calendar#YEAR 值,则将使用 1970。如果字段参数之间存在任何冲突,则应用解析规则。因此,字段设置的顺序很重要。 除了日期时间参数外,还可以设置语言环境、时区、星期定义和宽大模式参数。 例子 以下是示例用法。示例代码假定日历常量是静态导入的。 以下代码生成日期为 2012-12-31(公历)的日历,因为星期一是具有 ISO 8601 兼容周参数的一周的第一天。 Calendar cal = new Calendar.Builder().setCalendarType("iso8601") .setWeekDate(2013, 1, MONDAY).build(); 以下代码生成日期为 1989-01-08(公历)的日本日历,假设默认 Calendar#ERA 是当天开始的平成。 Calendar cal = new Calendar.Builder().setCalendarType("japanese") .setFields(YEAR, 1, DAY_OF_YEAR, 1).build(); 构造函数摘要 构造函数 描述 Builder() 构造一个 Calendar.Builder。 方法总结 修饰符和类型 方法 描述 Calendar build() 返回由 setter 方法设置的参数构建的 Calendar。 Calendar.Builder set(int field, int value) 将字段参数设置为给定值。 Calendar.Builder setCalendarType(String type) 将日历类型参数设置为给定类型。 Calendar.Builder setDate(int year, int month, int dayOfMonth) 将日期字段参数设置为由 year、month 和 dayOfMonth 给出的值。 Calendar.Builder setFields(int… fieldValuePairs) 将字段参数设置为由 fieldValuePairs 给定的值,它们是字段及其值的对。 Calendar.Builder setInstant(long instant) 将 Instant 参数设置为给定的瞬时值,该值是从 Epoch 的毫秒偏移量。 Calendar.Builder setInstant(Date instant) 将 Instant 参数设置为由 Date 给出的瞬时值。 Calendar.Builder setLenient(boolean lenient) 将 lenient 模式参数设置为 lenient 给出的值。 Calendar.Builder setLocale(Locale locale) 将语言环境参数设置为给定的语言环境。 Calendar.Builder setTimeOfDay(int hourOfDay, int minute, int second) 将时间字段参数设置为由 hourOfDay、minute 和 second 给出的值。 Calendar.Builder setTimeOfDay(int hourOfDay, int minute, int second, int millis) 将时间字段参数设置为由 hourOfDay、minute、second 和 millis 给出的值。 Calendar.Builder setTimeZone(TimeZone zone) 将时区参数设置为给定的区域。 Calendar.Builder setWeekDate(int weekYear, int weekOfYear, int dayOfWeek) 将基于周的日期参数设置为具有给定日期说明符的值 – 周年、年周和周日。 Calendar.Builder setWeekDefinition(int firstDayOfWeek, int minimalDaysInFirstWeek) 将周定义参数设置为 firstDayOfWeek 和 minimumDaysInFirstWeek 给出的值,用于确定一年中的第一周。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 构造函数详细信息 Builder public Builder() 构造一个 Calendar.Builder。 方法详情 setInstant public Calendar.Builder setInstant(long instant) 将 Instant...

鸿蒙OS Calendar

Calendar java.lang.Object |—java.util.Calendar public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable<Calendar> Calendar 类是一个抽象类,它提供了在特定时刻和一组日历字段(例如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等)之间进行转换的方法,以及用于操作日历字段(例如获取日期)的方法 下周的。 时间的瞬间可以用毫秒值表示,该值是从 1970 年 1 月 1 日 00:00:00.000 GMT(格里高利)纪元的偏移量。 该类还提供了用于在包外实现具体日历系统的附加字段和方法。 这些字段和方法被定义为受保护的。 与其他对语言环境敏感的类一样,Calendar 提供了一个类方法 getInstance,用于获取这种类型的普遍有用的对象。 Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已用当前日期和时间初始化: Calendar rightNow = Calendar.getInstance(); Calendar 对象可以生成实现特定语言和日历样式的日期时间格式所需的所有日历字段值(例如,Japanese-Gregorian、Japanese-Traditional)。 日历定义了某些日历字段返回的值的范围,以及它们的含义。 例如,日历系统的第一个月对于所有日历都有值 MONTH == JANUARY。 其他值由具体子类定义,例如 ERA。 获取和设置日历字段值 可以通过调用 set 方法来设置日历字段值。 在需要计算其时间值(距纪元的毫秒数)或日历字段的值之前,不会解释日历中设置的任何字段值。 调用 get、getTimeInMillis、getTime、add 和 roll 涉及到这样的计算。 Leniency Calendar 有两种解释日历字段的模式,宽松和非宽松。当日历处于宽松模式时,它接受的日历字段值范围比它产生的范围更广。当 Calendar 重新计算日历字段值以通过 get() 返回时,所有日历字段都被规范化。例如,宽松的 GregorianCalendar 将 MONTH == JANUARY, DAY_OF_MONTH == 32 解释为 2 月 1 日。 当日历处于非宽松模式时,如果其日历字段中存在任何不一致,它将引发异常。例如,GregorianCalendar 总是产生介于 1 和月份长度之间的 DAY_OF_MONTH 值。如果设置了任何超出范围的字段值,非宽松的 GregorianCalendar 在计算其时间或日历字段值时会引发异常。 第一周日历使用两个参数定义特定于语言环境的一周七天:一周的第一天和第一周的最少天数(从 1 到 7)。这些数字是在构造日历时从语言环境资源数据中获取的。它们也可以通过设置它们的值的方法明确指定。 在设置或获取 WEEK_OF_MONTH 或 WEEK_OF_YEAR 字段时,Calendar 必须确定月份或年份的第一周作为参考点。一个月或一年的第一周定义为从 getFirstDayOfWeek() 开始并至少包含该月或该年的 getMinimalDaysInFirstWeek() 天的最早 7 天时间段。周数 …, -1, 0 在第一周之前;第 2 周、第 3 周、… 跟随它。请注意,get() 返回的标准化编号可能不同。例如,一个特定的日历子类可以将一年中第 1 周的前一周指定为上一年的第 n 周。 日历字段解析...

鸿蒙OS BitSet

BitSet java.lang.Object |—java.util.BitSet public class BitSet extends Object implements Cloneable, Serializable 这个类实现了一个根据需要增长的位向量。 位集的每个组件都有一个布尔值。 BitSet 的位由非负整数索引。 可以检查、设置或清除各个索引位。 一个 BitSet 可用于通过逻辑 AND、逻辑异或和逻辑异或操作来修改另一个 BitSet 的内容。 默认情况下,集合中的所有位最初都具有值 false。 每个位集都有一个当前大小,即该位集当前使用的空间位数。 请注意,大小与位集的实现有关,因此它可能会随着实现而改变。 位集的长度与位集的逻辑长度相关,并且独立于实现来定义。 除非另有说明,否则将 null 参数传递给 BitSet 中的任何方法都将导致 NullPointerException。 如果没有外部同步,BitSet 对于多线程使用是不安全的。 构造函数摘要 构造函数 描述 BitSet() 创建一个新的位集。 BitSet(int nbits) 创建一个位集,其初始大小足够大,可以显式表示索引范围为 0 到 nbits-1 的位。 方法总结 修饰符和类型 方法 描述 void and(BitSet set) 执行此目标位集与参数位集的逻辑与。 void andNot(BitSet set) 清除此 BitSet 中在指定 BitSet 中设置了相应位的所有位。 int cardinality() 返回此 BitSet 中设置为 true 的位数。 void clear() 将此 BitSet 中的所有位设置为 false。 void clear(int bitIndex) 将索引指定的位设置为 false。 void clear(int fromIndex, int toIndex) 将从指定的 fromIndex(包括)到指定的 toIndex(不包括)的位设置为 false。 Object clone() 克隆此 BitSet 会生成一个与其相同的新 BitSet。 boolean equals(Object obj) 将此对象与指定对象进行比较。 void flip(int bitIndex) 将指定索引处的位设置为其当前值的补码。 void flip(int fromIndex, int toIndex) 将从指定的 fromIndex(包括)到指定的 toIndex(不包括)的每个位设置为其当前值的补码。 boolean get(int bitIndex) 返回具有指定索引的位的值。 BitSet get(int fromIndex, int toIndex) 返回一个新的 BitSet,该 BitSet 由该 BitSet 中从 fromIndex(包括)到 toIndex(不包括)的位组成。 int hashCode() 返回此位集的哈希码值。 boolean intersects(BitSet set) 如果指定的 BitSet 有任何位设置为 true,并且在此 BitSet 中也设置为 true,则返回 true。 boolean isEmpty() 如果此 BitSet 不包含设置为 true 的位,则返回 true。 int length() 返回此 BitSet 的“逻辑大小”:BitSet 中最高设置位的索引加一。 int nextClearBit(int fromIndex) 返回在指定起始索引上或之后发生的设置为 false 的第一位的索引。 int nextSetBit(int fromIndex) 返回在指定起始索引上或之后出现的第一个设置为 true 的索引。 void or(BitSet set) 使用位集参数执行此位集的逻辑或。 int previousClearBit(int fromIndex) 返回设置为 false 的最近位的索引,该位出现在指定的起始索引上或之前。 int previousSetBit(int fromIndex) 返回设置为 true 的最近位的索引,该位出现在指定的起始索引上或之前。 void set(int bitIndex) 将指定索引处的位设置为真。 void set(int bitIndex, boolean value) 将指定索引处的位设置为指定值。 void set(int fromIndex, int toIndex) 将指定 fromIndex(包括)到指定 toIndex(不包括)的位设置为 true。 void set(int fromIndex, int toIndex, boolean value)...

鸿蒙OS Base64.Encoder

Base64.Encoder java.lang.Object |—java.util.Base64.Encoder public static class Base64.Encoder extends Object 此类实现了一个编码器,用于使用 RFC 4648 和 RFC 2045 中指定的 Base64 编码方案对字节数据进行编码。 Encoder 类的实例可供多个并发线程安全使用。 除非另有说明,否则将 null 参数传递给此类的方法将导致抛出 NullPointerException。 方法总结 修饰符和类型 方法 描述 byte[] encode(byte[] src) 使用 Base64 编码方案将指定字节数组中的所有字节编码为新分配的字节数组。 int encode(byte[] src, byte[] dst) 使用 Base64 编码方案对指定字节数组中的所有字节进行编码,将结果字节写入给定的输出字节数组,从偏移量 0 开始。 ByteBuffer encode(ByteBuffer buffer) 使用 Base64 编码方案将指定字节缓冲区中的所有剩余字节编码到新分配的 ByteBuffer 中。 String encodeToString(byte[] src) 使用 Base64 编码方案将指定的字节数组编码为字符串。 Base64.Encoder withoutPadding() 返回与此等效编码的编码器实例,但在编码字节数据的末尾不添加任何填充字符。 OutputStream wrap(OutputStream os) 使用 Base64 编码方案包装用于编码字节数据的输出流。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 方法详情 encode public byte[] encode(byte[] src) 使用 Base64 编码方案将指定字节数组中的所有字节编码为新分配的字节数组。 返回的字节数组是结果字节的长度。 参数: 参数名称 参数描述 src 要编码的字节数组 返回: 一个新分配的字节数组,包含生成的编码字节。 encode public int encode(byte[] src, byte[] dst) 使用 Base64 编码方案对指定字节数组中的所有字节进行编码,将结果字节写入给定的输出字节数组,从偏移量 0 开始。 此方法的调用者有责任确保输出字节数组 dst 有足够的空间来编码输入字节数组中的所有字节。 如果输出字节数组不够大,则不会将任何字节写入输出字节数组。 参数: 参数名称 参数描述 src 要编码的字节数组 dst 输出字节数组 返回: 写入输出字节数组的字节数 Throws: Throw名称 Throw描述 IllegalArgumentException 如果 dst 没有足够的空间来编码所有输入字节。 encodeToString public String encodeToString(byte[] src) 使用 Base64 编码方案将指定的字节数组编码为字符串。 此方法首先将所有输入字节编码为 base64 编码的字节数组,然后使用编码的字节数组和 ISO-8859-1 字符集构造一个新的字符串。 换句话说,调用此方法与调用 new String(encode(src), StandardCharsets.ISO_8859_1) 具有完全相同的效果。 参数: 参数名称 参数描述 src 要编码的字节数组...

鸿蒙OS Base64.Decoder

Base64.Decoder java.lang.Object |—java.util.Base64.Decoder public static class Base64.Decoder extends Object 此类实现了一个解码器,用于使用 RFC 4648 和 RFC 2045 中指定的 Base64 编码方案来解码字节数据。 Base64 填充字符 ‘=’ 被接受并解释为编码字节数据的结尾,但不是必需的。 因此,如果编码字节数据的最终单元只有两个或三个 Base64 字符(没有填充相应的填充字符),则它们将被解码,就像后面跟着填充字符一样。 如果最终单元中存在填充字符,则必须存在正确数量的填充字符,否则在解码期间抛出 IllegalArgumentException(从 Base64 流中读取时的 IOException)。 Decoder 类的实例可供多个并发线程安全使用。 除非另有说明,否则将 null 参数传递给此类的方法将导致抛出 NullPointerException。 方法总结 修饰符和类型 方法 描述 byte[] decode(byte[] src) 使用 Base64 编码方案解码输入字节数组中的所有字节,将结果写入新分配的输出字节数组。 int decode(byte[] src, byte[] dst) 使用 Base64 编码方案解码输入字节数组中的所有字节,将结果写入给定的输出字节数组,从偏移量 0 开始。 byte[] decode(String src) 使用 Base64 编码方案将 Base64 编码的字符串解码为新分配的字节数组。 ByteBuffer decode(ByteBuffer buffer) 使用 Base64 编码方案对输入字节缓冲区中的所有字节进行解码,并将结果写入新分配的 ByteBuffer。 InputStream wrap(InputStream is) 返回用于解码 Base64 编码字节流的输入流。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 方法详情 decode public byte[] decode(byte[] src) 使用 Base64 编码方案解码输入字节数组中的所有字节,将结果写入新分配的输出字节数组。 返回的字节数组是结果字节的长度。 参数: 参数名称 参数描述 src 要解码的字节数组 返回: 一个新分配的包含解码字节的字节数组。 Throws: Throw名称 Throw描述 IllegalArgumentException 如果 src 不在有效的 Base64 方案中 decode public byte[] decode(String src) 使用 Base64 编码方案将 Base64 编码的字符串解码为新分配的字节数组。 调用此方法与调用 decode(src.getBytes(StandardCharsets.ISO_8859_1)) 的效果完全相同 参数: 参数名称 参数描述 src 要解码的字符串 返回: 一个新分配的包含解码字节的字节数组。 Throws: Throw名称 Throw描述 IllegalArgumentException 如果 src 不在有效的 Base64 方案中 decode public int decode(byte[] src, byte[] dst) 使用 Base64 编码方案解码输入字节数组中的所有字节,将结果写入给定的输出字节数组,从偏移量 0 开始。 此方法的调用者有责任确保输出字节数组 dst...

鸿蒙OS Base64

Base64 java.lang.Object |—java.util.Base64 public class Base64 extends Object 此类仅包含用于获取 Base64 编码方案的编码器和解码器的静态方法。 此类的实现支持 RFC 4648 和 RFC 2045 中指定的以下 Base64 类型。 Basic 使用 RFC 4648 和 RFC 2045 的表 1 中指定的“Base64 字母”进行编码和解码操作。 编码器不添加任何换行符(行分隔符)。 解码器拒绝包含 base64 字母表之外的字符的数据。 URL and Filename safe 使用 RFC 4648 的表 2 中指定的“URL 和文件名安全 Base64 字母”进行编码和解码。 编码器不添加任何换行符(行分隔符)。 解码器拒绝包含 base64 字母表之外的字符的数据。 MIME 使用 RFC 2045 的表 1 中指定的“Base64 字母”进行编码和解码操作。 编码后的输出必须以每行不超过 76 个字符的形式表示,并使用回车“\r”紧跟换行“\n”作为行分隔符。 没有行分隔符添加到编码输出的末尾。 在解码操作中忽略所有在 base64 字母表中找不到的行分隔符或其他字符。 除非另有说明,否则将 null 参数传递给此类的方法将导致抛出 NullPointerException。 嵌套类摘要 修饰符和类型 类 描述 static class Base64.Decoder 此类实现了一个解码器,用于使用 RFC 4648 和 RFC 2045 中指定的 Base64 编码方案来解码字节数据。 static class Base64.Encoder 此类实现了一个编码器,用于使用 RFC 4648 和 RFC 2045 中指定的 Base64 编码方案对字节数据进行编码。 方法总结 修饰符和类型 方法 描述 static Base64.Decoder getDecoder() 返回使用基本类型 base64 编码方案解码的解码器。 static Base64.Encoder getEncoder() 返回使用 Basic 类型 base64 编码方案进行编码的 Encoder。 static Base64.Decoder getMimeDecoder() 返回使用 MIME 类型 base64 解码方案解码的解码器。 static Base64.Encoder getMimeEncoder() 返回使用 MIME 类型 base64 编码方案进行编码的 Encoder。 static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) 返回一个使用 MIME 类型 base64 编码方案进行编码的编码器,该编码方案具有指定的行长和行分隔符。 static Base64.Decoder getUrlDecoder() 返回使用 URL 和文件名安全类型 base64 编码方案解码的解码器。 static Base64.Encoder getUrlEncoder() 返回使用 URL 和 Filename 安全类型 base64 编码方案进行编码的 Encoder。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 方法详情 getEncoder public static Base64.Encoder getEncoder() 返回使用 Basic 类型 base64...

鸿蒙OS Arrays

Arrays java.lang.Object |—java.util.Arrays public class Arrays extends Object 此类包含用于操作数组(例如排序和搜索)的各种方法。 此类还包含一个允许将数组视为列表的静态工厂。 如果指定的数组引用为空,则此类中的方法都会抛出 NullPointerException,除非另有说明。 此类中包含的方法的文档包括实现的简要说明。 此类描述应被视为实现说明,而不是规范的一部分。 只要遵守规范本身,实现者应该可以随意替换其他算法。 (例如,sort(Object[]) 使用的算法不必是 MergeSort,但它必须是稳定的。) 此类是 Java 集合框架的成员。 方法总结 修饰符和类型 方法 描述 static <T> List<T> asList(T… a) 返回由指定数组支持的固定大小的列表。 static int binarySearch(byte[] a, byte key) 使用二进制搜索算法在指定的字节数组中搜索指定的值。 static int binarySearch(byte[] a, int fromIndex, int toIndex, byte key) 使用二进制搜索算法在指定字节数组的范围内搜索指定值。 static int binarySearch(char[] a, char key) 使用二进制搜索算法在指定的字符数组中搜索指定的值。 static int binarySearch(char[] a, int fromIndex, int toIndex, char key) 使用二进制搜索算法在指定字符数组的范围内搜索指定值。 static int binarySearch(double[] a, double key) 使用二进制搜索算法在指定的双精度数组中搜索指定的值。 static int binarySearch(double[] a, int fromIndex, int toIndex, double key) 使用二分搜索算法在指定的双精度数组范围内搜索指定值。 static int binarySearch(float[] a, float key) 使用二进制搜索算法在指定的浮点数数组中搜索指定的值。 static int binarySearch(float[] a, int fromIndex, int toIndex, float key) 使用二分搜索算法在指定浮点数数组的范围内搜索指定值。 static int binarySearch(int[] a, int key) 使用二进制搜索算法在指定的整数数组中搜索指定的值。 static int binarySearch(int[] a, int fromIndex, int toIndex, int key) 使用二进制搜索算法在指定整数数组的范围内搜索指定值。 static int binarySearch(long[] a, int fromIndex, int toIndex, long key) 使用二进制搜索算法在指定的 long 数组的范围内搜索指定值。 static int binarySearch(long[] a, long key) 使用二进制搜索算法在指定的 long 数组中搜索指定的值。 static int binarySearch(short[] a, int fromIndex, int toIndex, short key) 使用二分搜索算法在指定的 short 数组的范围内搜索指定的值。 static int binarySearch(short[] a, short key) 使用二分搜索算法在指定的 short 数组中搜索指定的值。 static int binarySearch(Object[] a, int fromIndex, int toIndex, Object key) 使用二分搜索算法在指定数组的范围内搜索指定对象。 static int binarySearch(Object[] a, Object key) 使用二分搜索算法在指定数组中搜索指定对象。 static <T> int binarySearch(T[] a, int fromIndex, int toIndex, T key, Comparator<? super T> c) 使用二分搜索算法在指定数组的范围内搜索指定对象。 static <T> int binarySearch(T[] a, T key, Comparator<? super T> c) 使用二分搜索算法在指定数组中搜索指定对象。 static boolean[] copyOf(boolean[] original, int newLength) 复制指定的数组,用 false 截断或填充(如果需要),使副本具有指定的长度。 static byte[] copyOf(byte[] original, int newLength) 复制指定的数组,用零截断或填充(如有必要),以便副本具有指定的长度。 static char[] copyOf(char[] original, int newLength) 复制指定的数组,用空字符截断或填充(如有必要),使副本具有指定的长度。 static double[] copyOf(double[] original, int newLength) 复制指定的数组,用零截断或填充(如有必要),以便副本具有指定的长度。 static float[] copyOf(float[] original, int newLength) 复制指定的数组,用零截断或填充(如有必要),以便副本具有指定的长度。 static int[] copyOf(int[] original, int newLength) 复制指定的数组,用零截断或填充(如有必要),以便副本具有指定的长度。 static long[] copyOf(long[] original, int newLength) 复制指定的数组,用零截断或填充(如有必要),以便副本具有指定的长度。 static short[] copyOf(short[] original, int newLength) 复制指定的数组,用零截断或填充(如有必要),以便副本具有指定的长度。 static <T> T[] copyOf(T[] original, int newLength) 复制指定的数组,截断或填充空值(如有必要),使副本具有指定的长度。 static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType) 复制指定的数组,截断或填充空值(如有必要),使副本具有指定的长度。 static boolean[] copyOfRange(boolean[] original, int from, int to) 将指定数组的指定范围复制到新数组中。 static byte[] copyOfRange(byte[] original, int from, int to) 将指定数组的指定范围复制到新数组中。 static char[] copyOfRange(char[] original, int from, int to)...

鸿蒙OS ArrayList

ArrayList java.lang.Object |—java.util.AbstractCollection<E& |—|—java.util.AbstractList<E& |—|—|—java.util.ArrayList<E& public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, Serializable List 接口的可调整大小的数组实现。 实现所有可选列表操作,并允许所有元素,包括 null。 除了实现 List 接口之外,该类还提供了一些方法来操作内部用于存储列表的数组的大小。 (这个类大致相当于 Vector,只是它是不同步的。) size、isEmpty、get、set、iterator 和 listIterator 操作在恒定时间内运行。 添加操作在摊销常数时间内运行,即添加 n 个元素需要 O(n) 时间。 所有其他操作都以线性时间运行(粗略地说)。 与 LinkedList 实现相比,常数因子较低。 每个 ArrayList 实例都有一个容量。 容量是用于存储列表中元素的数组的大小。 它总是至少与列表大小一样大。 随着元素被添加到 ArrayList,它的容量会自动增长。 除了添加一个元素具有恒定的摊销时间成本这一事实之外,没有指定增长策略的细节。 应用程序可以在使用 ensureCapacity 操作添加大量元素之前增加 ArrayList 实例的容量。 这可以减少增量重新分配的数量。 请注意,此实现不同步。 如果多个线程同时访问一个 ArrayList 实例,并且至少有一个线程在结构上修改了列表,则必须在外部进行同步。 (结构修改是添加或删除一个或多个元素,或显式调整后备数组大小的任何操作;仅设置元素的值不是结构修改。)这通常通过同步一些自然封装的对象来完成 列表。 如果不存在这样的对象,则应使用 Collections#synchronizedList 方法“包装”该列表。 这最好在创建时完成,以防止对列表的意外不同步访问: List list = Collections.synchronizedList(new ArrayList(...)); 此类的 iterator 和 listIterator 方法返回的迭代器是快速失败的:如果在创建迭代器后的任何时间对列表进行结构修改,除了通过迭代器自己的 ListIterator#remove() 或 ListIterator#add(Object) 之外的任何方式方法,迭代器将抛出 ConcurrentModificationException。因此,面对并发修改,迭代器快速而干净地失败,而不是在未来不确定的时间冒任意的、非确定性的行为。 请注意,不能保证迭代器的快速失败行为,因为一般来说,在存在不同步的并发修改的情况下,不可能做出任何硬保证。快速失败的迭代器会尽最大努力抛出 ConcurrentModificationException。因此,编写一个依赖于这个异常的正确性的程序是错误的:迭代器的快速失败行为应该只用于检测错误。 此类是 Java 集合框架的成员。 字段摘要 从类 java.util.AbstractList 继承的字段 modCount 构造函数摘要 构造函数 描述 ArrayList() 构造一个初始容量为 10 的空列表。 ArrayList(int initialCapacity) 构造一个具有指定初始容量的空列表。 ArrayList(Collection<? extends E> c) 按照集合的迭代器返回的顺序构造一个包含指定集合元素的列表。 方法总结 修饰符和类型 方法 描述 void add(int index, E element) 在此列表中的指定位置插入指定元素。 boolean add(E e) 将指定元素附加到此列表的末尾。 boolean addAll(int index, Collection<? extends E> c) 将指定集合中的所有元素插入此列表,从指定位置开始。 boolean addAll(Collection<? extends E> c) 按照指定集合的迭代器返回的顺序,将指定集合中的所有元素附加到此列表的末尾。 void clear() 从此列表中删除所有元素。 Object clone() 返回此 ArrayList 实例的浅表副本。 boolean contains(Object o) 如果此列表包含指定元素,则返回 true。...

鸿蒙OS ArrayDeque

ArrayDeque java.lang.Object |—java.util.AbstractCollection<E& |—|—java.util.ArrayDeque<E& public class ArrayDeque<E> extends AbstractCollection<E> implements Deque<E>, Cloneable, Serializable Deque 接口的可调整大小的数组实现。 数组双端队列没有容量限制; 它们会根据需要增长以支持使用。 它们不是线程安全的; 在没有外部同步的情况下,它们不支持多线程并发访问。 禁止使用空元素。 这个类在作为栈使用时可能比 Stack 快,作为队列使用时比 LinkedList 快。 大多数 ArrayDeque 操作在摊销的常数时间内运行。 例外情况包括 remove、removeFirstOccurrence、removeLastOccurrence、contains、iterator.remove() 和批量操作,所有这些操作都以线性时间运行。 此类的迭代器方法返回的迭代器是快速失败的:如果在创建迭代器后的任何时间对双端队列进行了修改,除了通过迭代器自己的 remove 方法之外的任何方式,迭代器通常会抛出 ConcurrentModificationException。 因此,面对并发修改,迭代器快速而干净地失败,而不是在未来不确定的时间冒任意的、非确定性的行为。 请注意,不能保证迭代器的快速失败行为,因为一般来说,在存在不同步的并发修改的情况下,不可能做出任何硬保证。 快速失败的迭代器会尽最大努力抛出 ConcurrentModificationException。 因此,编写一个依赖于这个异常的正确性的程序是错误的:迭代器的快速失败行为应该只用于检测错误。 此类及其迭代器实现了 Collection 和 Iterator 接口的所有可选方法。 此类是 Java 集合框架的成员。 构造函数摘要 构造函数 描述 ArrayDeque() 构造一个空数组双端队列,其初始容量足以容纳 16 个元素。 ArrayDeque(int numElements) 构造一个空数组双端队列,其初始容量足以容纳指定数量的元素。 ArrayDeque(Collection<? extends E> c) 按照集合的迭代器返回的顺序构造一个包含指定集合元素的双端队列。 方法总结 修饰符和类型 方法 描述 boolean add(E e) 在此双端队列的末尾插入指定的元素。 void addFirst(E e) 在此双端队列的前面插入指定元素。 void addLast(E e) 在此双端队列的末尾插入指定的元素。 void clear() 从此双端队列中删除所有元素。 ArrayDequeE clone() 返回此双端队列的副本。 boolean contains(Object o) 如果此双端队列包含指定元素,则返回 true。 IteratorE descendingIterator() 以相反的顺序返回此双端队列中元素的迭代器。 E element() 检索但不删除此双端队列表示的队列的头部。 E getFirst() 检索但不删除此双端队列的第一个元素。 E getLast() 检索但不删除此双端队列的最后一个元素。 boolean isEmpty() 如果此双端队列不包含任何元素,则返回 true。 IteratorE iterator() 返回此双端队列中元素的迭代器。 boolean offer(E e) 在此双端队列的末尾插入指定的元素。 boolean offerFirst(E e) 在此双端队列的前面插入指定元素。 boolean offerLast(E e) 在此双端队列的末尾插入指定的元素。 E peek() 检索但不删除此双端队列表示的队列的头部,如果此双端队列为空,则返回 null。 E peekFirst() 检索但不删除此双端队列的第一个元素,如果此双端队列为空,则返回 null。 E peekLast() 检索但不删除此双端队列的最后一个元素,如果此双端队列为空,则返回 null。 E poll() 检索并删除此双端队列表示的队列的头部(换句话说,此双端队列的第一个元素),如果此双端队列为空,则返回 null。 E pollFirst()...