找到 270 篇文章 相关 Java8
259 次查看
以下是 Java 中将 Integer 转换为 String 的不同方法。使用 Integer.toString(int) - 使用 Integer 类的静态 toString() 方法将 int 转换为 String。String b = Integer.toString(125);使用 String.valueOf(int) - 使用 String 类的静态 valueOf() 方法将 int 转换为 String。String b = String.valueOf(125);使用 new Integer(int).toString() - 使用 Integer 对象的 toString() 方法将 int 转换为 String。String b = new Integer(125).toString();使用 DecimalFormat(pattern).format(int) - 使用 DecimalFormat.format() 方法将 int 转换为 String。String b = new DecimalFormat("#").format(125);使用 StringBuilder().toString() - 使用 StringBuilder.toString() 方法将 int 转换为 String。String b = new StringBuilder().append(125).toString();使用 StringBuffer().toString() - 将 int 转换为 String ... 阅读更多
12K+ 次查看
HashMap、TreeMap 和 LinkedHashMap 都实现了 java.util.Map 接口,以下是它们的特性。HashMapHashMap 的插入和查找复杂度为 O(1)。HashMap 允许一个空键和多个空值。HashMap 不维护任何顺序。TreeMapTreeMap 的插入和查找复杂度为 O(logN)。TreeMap 不允许空键,但允许多个空值。TreeMap 维护顺序。它按排序和升序存储键。LinkedHashMapLinkedHashMap 的插入和查找复杂度为 O(1)。LinkedHashMap 允许一个空键和多个空值。LinkedHashMap 维护键值对插入的顺序。示例import java.util.HashMap; import java.util.Hashtable; import java.util.LinkedHashMap; import java.util.Map; import java.util.TreeMap; public class Tester { ... 阅读更多
3K+ 次查看
以下是 Java 中 HashTable 和 HashMap 类之间的一些显著区别。HashTableHashMap同步HashTable 是同步的。HashMap 不是同步的。线程安全HashTable 是线程安全的。HashMap 不是线程安全的。空对象HashTable 不允许空键或空值。HashMap 允许一个空键和多个空值。性能HashTable 速度更快。HashMap 比 HashTable 慢。自 Java 版本 1.21.5 起示例import java.util.HashMap; import java.util.Hashtable; import java.util.Map; public class Tester { public static void main(String args[]) { Map map = new HashMap(); map.put("1", "One"); map.put("2", "Two"); map.put("3", "Three"); map.put("5", "Five"); ... 阅读更多
5K+ 次查看
以下是 Java 中 HashMap 和 ConcurrentHashMap 类之间的一些显著区别。HashMapConcurrentHashMap同步HashMap 不是同步的。ConcurrentHashMap 是同步的。线程安全HashMap 不是线程安全的。ConcurrentHashMap 是线程安全的。迭代器类型HashMap 迭代器是快速失败的,如果在迭代期间发生并发修改,ArrayList 会抛出 ConcurrentModificationException。ConcurrentHashMap 是安全失败的,在迭代期间永远不会抛出 ConcurrentModificationException。空值HashMap 允许键和值为 null。ConcurrentHashMap 不允许空键/值。它会抛出 NullPointerException。性能HashMap 速度更快。ConcurrentHashMap 比 HashMap 慢。自 Java 版本 1.21.5 起示例import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; public class Tester { public static void main(String[] args) { List arrayList = new ArrayList(); ... 阅读更多
3K+ 次查看
以下是 Java 中 ArrayList 和 CopyOnWriteArrayList 类之间的一些显著区别。ArrayListCopyOnWriteArrayList同步ArrayList 不是同步的。CopyOnWriteArrayList 是同步的。线程安全ArrayList 不是线程安全的。CopyOnWriteArrayList 是线程安全的。迭代器类型ArrayList 迭代器是快速失败的,如果在迭代期间发生并发修改,ArrayList 会抛出 ConcurrentModificationException。CopyOnWriteArrayList 是安全失败的,在迭代期间永远不会抛出 ConcurrentModificationException。其背后的原因是 CopyOnWriteArrayList 在每次修改时都会创建一个新的 arraylist。删除操作ArrayList 迭代器支持在迭代期间删除元素。如果尝试在迭代期间删除元素,CopyOnWriteArrayList.remove() 方法会抛出异常。性能ArrayList 速度更快。CopyOnWriteArrayList 比 ArrayList 慢。自 Java 版本 1.21.5 起示例import java.util.Iterator; import java.util.concurrent.CopyOnWriteArrayList; public class Tester { ... 阅读更多
377 次查看
java.util.Deque 接口是 java.util.Queue 接口的子类型,它支持在两端插入和删除元素。接口声明public interface Deque extends QueueArrayDeque 类java.util.ArrayDeque 类提供可调整大小的数组并实现 Deque 接口。以下是关于 Array Deques 的重要要点:Array deques 没有容量限制,因此它们根据需要增长以支持使用。它们不是线程安全的;在没有外部同步的情况下。它们不支持多个线程的并发访问。Array deques 中禁止使用空元素。它们比 Stack 和 LinkedList 速度更快。此类及其迭代器实现了 Collection 和 Iterator 的所有可选方法 ... 阅读更多
4K+ 次查看
类声明public class CopyOnWriteArrayList extends Object implements List, RandomAccess, Cloneable, SerializableCopyOnWriteArrayList 是 ArrayList 的线程安全变体,其中可以更改 ArrayList 的操作(add、update、set 方法)会创建底层数组的克隆。CopyOnWriteArrayList 用于线程环境中,其中读取操作非常频繁,而更新操作很少。CopyOnWriteArrayList 的迭代器永远不会抛出 ConcurrentModificationException。对 CopyOnWriteArrayList 的任何类型的修改都不会反映在迭代期间,因为迭代器已创建。在迭代中不支持 List 修改方法,如 remove、set 和 add。此方法将抛出 UnsupportedOperationException。可以将 null 添加到 ... 阅读更多
549 次查看
类声明public class CopyOnWriteArraySet extends AbstractSet implements SerializableCopyOnWriteArraySet 类在内部使用 CopyOnWriteArrayList 进行所有操作,因此拥有 CopyOnWriteArrayList 的基本属性。CopyOnWriteArraySet 是线程安全的。CopyOnWriteArraySet 用于线程环境中,其中读取操作非常频繁,而更新操作很少。CopyOnWriteArraySet 的迭代器永远不会抛出 ConcurrentModificationException。对 CopyOnWriteArraySet 的任何类型的修改都不会反映在迭代期间,因为迭代器已创建。在迭代中不支持 Set 修改方法,如 remove、set 和 add。此方法将抛出 UnsupportedOperationException。CopyOnWriteArraySet 方法以下是 CopyOnWriteArraySet 类中可用的一些重要方法。序号方法 & ... 阅读更多
5K+ 次查看
我们可以使用 Java 的 BufferedReader 类读取文件中的字符。请参阅以下示例:示例考虑类路径中的以下文本文件。test.txt这是第 1 行 这是第 2 行 这是第 3 行 这是第 4 行 这是第 5 行 这是第 6 行 这是第 7 行 这是第 8 行 这是第 9 行 这是第 10 行Tester.javaimport java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; public class Tester { private static final String FILE_PATH = "data.txt"; public static void main(String args[]) throws IOException { ... 阅读更多
浏览量:547
我们可以通过读取文件内容到字符串,然后根据“\r”模式进行分割来读取文件中的段落。请查看以下示例 -示例考虑类路径中的以下文本文件:test.txt这是第 1 行 这是第 2 行 这是第 3 行 这是第 4 行 这是第 5 行 这是第 6 行 这是第 7 行 这是第 8 行 这是第 9 行 这是第 10 行Tester.javaimport java.io.File; import java.io.FileInputStream; import java.io.IOException; public class Tester { public static void main(String args[]) throws IOException { FileUtil fileUtil = ... 阅读更多