方法注释:
/** * Returns an immutable list containing only the specified object. * The returned list is serializable. * * @param <T> the class of the objects in the list * @param o the sole object to be stored in the returned list. * @return an immutable list containing only the specified object. * @since 1.3 */
这个方法主要用于只有一个元素的优化,减少内存分配,无需分配额外的内存。
普通写法:
List<MyBean> beans= MyService.getInstance().queryBean(param); if (CollectionUtils.isEmpty(beans)) { beans= new ArrayList<>(); MyBean bean= new MyBean(param); beans.add(bean); }
优化写法:
List<MyBean> beans= MyService.getInstance().queryBean(param); if (CollectionUtils.isEmpty(beans)) { MyBean bean= new MyBean(param); beans= Collections.singletonList(bean); }
类似地还有:
public static <T> Set<T> singleton(T o); public static <T> List<T> singletonList(T o); public static <K,V> Map<K,V> singletonMap(K key, V value); // 或者直接调用常量 EMPTY_LIST public static final <T> List<T> emptyList(); //或者直接调用常量 EMPTY_MAP public static final <K,V> Map<K,V> emptyMap(); //或者直接调用常量 EMPTY_SET public static final <T> Set<T> emptySet()
需要注意的是,以上6个方法返回的容器类均是immutable,即只读的,如果调用修改接口,将会抛出UnsupportedOperationException
相关推荐
然而,更现代的Java开发可能倾向于使用更新的Apache Commons Collections版本,或者转向Java 8及其引入的流(Stream)API,这些API提供了更为简洁和直观的集合操作方式。 总之,Apache Commons Collections 3.2.1为...
虽然在现代Java开发中,`Iterator`和增强型for循环更常用,但在处理遗留代码时仍需了解`Enumeration`的使用方法。 通过上述知识点的介绍,可以看出`Collections`框架在Java编程中的重要作用,它不仅简化了集合类的...
在Go语言中,数据结构是程序设计的基础,它们用于组织和管理数据,使得我们能够高效地存储和访问信息。...如果你在项目中遇到处理数据结构的需求,不妨查看并使用"go-collections",它会为你提供强大的工具支持。
我们可以使用getByName()方法输入代理IP字符串,得到InetAddress对象。 3. **ProxySelector类**: Android系统默认使用系统级的ProxySelector,但我们可以通过重写这个类并设置为我们自定义的实现,以便在每次网络...
return Collections.singletonList(Collections.singletonList(1)); } else { List<List<Integer>> sequences = generateSequences(n - 1); List<List<Integer>> newSequences = new ArrayList(); for (List...
JavaPoet Maven插件 一个简单的maven插件,可让您使用生成项目的源。 开发JavaFile Generator...import static java.util.Collections.singletonList ; import static javax.lang.model.element.Modifier.FINAL ; impor
Collections.singletonList(targetLanguage)).blockFirst(); // 输出翻译结果 System.out.println("Translated text: " + result.getTranslations().get(0).getText()); ``` 六、安全与最佳实践 1. **密钥管理**: ...
- **装饰模式的应用**:`Collections` 类还提供了创建不可变集合、同步集合以及单例集合的方法,如 `unmodifiableList(List<T> list)`、`synchronizedList(List<T> list)` 和 `singletonList(T o)`,这些方法都是...
List<String> cat = Collections.singletonList("cat"); System.out.println(cat); // 创建空List List<String> emptyList = Collections.emptyList(); ``` 4. 匿名内部类 利用匿名内部类可以一次性初始化List,...
此外,Collections还包含了一些实用的工厂方法,如`Collections.singletonList()`, `Collections.emptyList()`和`Collections.emptySet()`,它们分别用于创建单元素、空的List、Set。这些方法返回的是不可变的集合,...
杰西·罗伯特·工人·普尔 工人池的实现。 它监视联合工作人员的状态,如果检测到死亡的工作人员,则调整工作人员的数量。... new WorkerImpl (config, Collections . singletonList( " foo " ), new MapBasedJob
14. **集合工厂方法**:`Collections.emptyList()`, `Collections.singletonList()`, `Collections.emptyMap()`等可以快速创建特定类型的集合实例。 15. **垃圾回收与内存管理**:了解集合对象的生命周期和如何避免...
Object result = jedis.eval(script, Collections.singletonList(key), Collections.singletonList(lockValue)); if (result.equals("true")) { // 解锁成功 } else { // 解锁失败,可能因为锁已被其他客户端...
泛型的使用还体现在`Collections`类的静态工厂方法,如`Collections.emptyList()`,返回一个空的`List`,以及`Collections.singletonList()`,返回包含单个元素的`List`,这些方法都使用了泛型来确保返回的列表类型...
return jedis.eval(script, Collections.singletonList(lockKey), Collections.singletonList(jedis.client().getId())); } public void unlock() { // 释放锁,这里可以使用lua脚本确保操作原子性 // ... } ...
Object result = redisTemplate.execute(redisScript, Collections.singletonList(lockKey), UUID); System.out.println("删除结果:" + result); } ``` 使用 Lua 脚本可以实现 Redis 的事务操作,具有原子性、...
7. **类型安全的异构容器(Collections Factory Methods)**:如`Collections.emptyList()`, `Collections.singletonList()`, `Collections.singletonMap()`等,创建已知类型的安全集合实例。 8. **可插拔的类型...
Collections.singletonList(lockKey), lockValue); return result > 0; } catch (Exception e) { return false; } } /** * 释放锁 * @param lockKey 锁的key * @param lockValue 当前锁的值 * @return ...
Long result = jedis.eval(script, Collections.singletonList("key"), Collections.singletonList("1")); ``` ### 12. **其他高级功能** Jedis还支持更多特性,如pipeline(批量处理命令)、Geo位置操作、Bitwise...