相关疑难解决方法(0)

是否保证从LinkedHashMap对象返回键和值的顺序?

我知道LinkedHashMap有一个可预测的迭代顺序(插入顺序).是否Set通过返回LinkedHashMap.keySet()Collection返回的LinkedHashMap.values()也维持这种秩序?

java iteration linkedhashmap

154
推荐指数
4
解决办法
4万
查看次数

使用List或Collection更好吗?

我有一个对象,它将一些数据存储在列表中.实现可能会在以后更改,我不希望将内部实现公开给最终用户.但是,用户必须能够修改和访问此数据集.目前我有这样的事情:

public List<SomeDataType> getData() {
   return this.data;
}

public void setData(List<SomeDataType> data) {
   this.data = data;
}
Run Code Online (Sandbox Code Playgroud)

这是否意味着我已经允许内部实现细节泄漏?我应该这样做吗?

public Collection<SomeDataType> getData() {
   return this.data;
}

public void setData(Collection<SomeDataType> data) {
   this.data = new ArrayList<SomeDataType>(data);
}
Run Code Online (Sandbox Code Playgroud)

java collections abstraction list

36
推荐指数
5
解决办法
2万
查看次数

标签 统计

java ×2

abstraction ×1

collections ×1

iteration ×1

linkedhashmap ×1

list ×1