- Hazelcast 教程
- Hazelcast - 首页
- Hazelcast - 简介
- Hazelcast - 设置
- Hazelcast - 第一个应用程序
- Hazelcast - 配置
- 设置多节点实例
- Hazelcast - 数据结构
- Hazelcast - 客户端
- Hazelcast - 序列化
- Hazelcast 高级
- Hazelcast - Spring 集成
- Hazelcast - 监控
- Map Reduce & 聚合
- Hazelcast - 集合监听器
- 常见陷阱 & 性能技巧
- Hazelcast 有用资源
- Hazelcast - 快速指南
- Hazelcast - 有用资源
- Hazelcast - 讨论
Hazelcast - IList
java.util.List 提供了一个接口,用于保存对象集合,这些对象不一定需要是唯一的。元素的顺序无关紧要。
类似地,IList 实现了一个 Java List 的分布式版本。它提供了类似的功能:add、forEach 等。
IList 中存在的所有数据都存储/存在于单个 JVM 上。所有 JVM 仍然可以访问数据,但列表无法扩展到单个机器/JVM 之外。
该列表支持同步备份和异步备份。同步备份确保即使保存列表的 JVM 出现故障,所有元素也将被保留并可从备份中获取。
让我们来看一个有用函数的示例。
添加元素和读取元素
让我们在 2 个 JVM 上执行以下代码。一个 JVM 上运行生产者代码,另一个 JVM 上运行消费者代码。
示例
第一部分是生产者代码,它创建一个列表并向其中添加项目。
public static void main(String... args) throws IOException, InterruptedException { //initialize hazelcast instance HazelcastInstance hazelcast = Hazelcast.newHazelcastInstance(); // create a list IList<String> hzFruits = hazelcast.getList("fruits"); hzFruits.add("Mango"); hzFruits.add("Apple"); hzFruits.add("Banana"); // adding an existing fruit System.out.println(hzFruits.add("Apple")); System.out.println("Size of list:" + hzFruits.size()); System.exit(0); }
第二部分是消费者代码,它读取列表元素。
public static void main(String... args) throws IOException, InterruptedException { //initialize hazelcast instance HazelcastInstance hazelcast = Hazelcast.newHazelcastInstance(); // create a list IList<String> hzFruits = hazelcast.getList("fruits"); Thread.sleep(2000); hzFruits.forEach(System.out::println); System.exit(0); }
输出
生产者代码的输出显示它无法添加现有元素。
true 4
消费者代码的输出打印列表大小,水果按预期顺序排列。
4 Mango Apple Banana Apple
有用方法
序号 | 函数名称 & 描述 |
---|---|
1 | add(Type element) 将元素添加到列表中 |
2 | remove(Type element) 从列表中移除元素 |
3 | size() 返回列表中元素的数量 |
4 | contains(Type element) 返回元素是否存在 |
5 | getPartitionKey() 返回保存列表的分区键 |
6 | addItemListener(ItemListener<Type>listener, value) 通知订阅者列表中元素被移除/添加/修改。 |
hazelcast_data_structures.htm
广告