首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# ObservableCollection在Java中的等价性

C# ObservableCollection在Java中的等价性
EN

Stack Overflow用户
提问于 2009-10-11 20:29:10
回答 7查看 9.7K关注 0票数 12

我想知道是否有一种数据结构可以像OberservableCollection那样在C#中使用某种类型的数据。

例:

在C#里我可以说..。

代码语言:javascript
复制
 ObservableCollection<Beer> Beer = new ObservableCollection<Beer>();
 Beer.add("Bud"); <br>
 Beer.add("Coors");

假设这类啤酒是制造出来的,我们可以改变酒精含量,这样

代码语言:javascript
复制
 Beer[1].content = 5;

我想知道是否有人知道这样的数据结构/s是否也适用于Java。

我是一个C#程序员,不是一个Java程序员,所以我只是好奇。而且,它必须能够接受一个自定义类型,而不是泛型。

EN

回答 7

Stack Overflow用户

发布于 2009-10-11 20:39:41

org.apache.commons.events.observable 类ObservableCollection

票数 5
EN

Stack Overflow用户

发布于 2013-05-09 18:49:34

可观察的数据结构(ObservableListObservableMap等)包含在Oracle 7u6+中,作为JavaFX项目的一部分。OpenJDK项目为OpenJFX提供了相应的库。

下面是关于使用JavaFX集合的教程。

以及使用链接教程中的JavaFX可观察列表的一些示例代码:

代码语言:javascript
复制
import java.util.List;
import java.util.ArrayList;
import javafx.collections.*;

public class CollectionsDemo {
  public static void main(String[] args) {
    // Use Java Collections to create the List.
    List<String> list = new ArrayList<String>();

    // Now add observability by wrapping it with ObservableList.
    ObservableList<String> observableList = FXCollections.observableList(list);
    observableList.addListener(new ListChangeListener() {
      @Override public void onChanged(ListChangeListener.Change change) {
        System.out.println("Detected a change! ");
      }
    });

    // Changes to the observableList WILL be reported.
    // This line will print out "Detected a change!"
    observableList.add("item one");

    // Changes to the underlying list will NOT be reported
    // Nothing will be printed as a result of the next line.
    list.add("item two");

    System.out.println("Size: "+observableList.size());
  }
}
票数 3
EN

Stack Overflow用户

发布于 2009-10-12 08:26:44

如果您希望观察您的列表,即当列表更改时通知您,您可以使用釉表

如果您只想修改存储在列表中的对象,则可以使用List.get(int指数)或迭代列表来获取对象。

如果要在将String存储到列表中时自动创建Beer对象,则可能需要编写自己的简单列表包装器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1551681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档