首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是"Set“和"Collection”接口的最佳可序列化替代品?

什么是"Set“和"Collection”接口的最佳可序列化替代品?
EN

Stack Overflow用户
提问于 2012-01-20 19:15:27
回答 3查看 22.9K关注 0票数 12

我必须序列化Collection并设置接口。对于Java上的这些接口,哪些是最好的可序列化替代品?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-20 19:18:07

Set是一个接口

使用HashSet实现 Set和HashSets 是可序列化的

只需确保集合中的所有对象都是可序列化的。

有关更多信息,请访问Why java.util.Set is not Serializable?

PS。它不必是HashSet;使用任何可序列化并实现Set或的具体类。

票数 23
EN

Stack Overflow用户

发布于 2012-01-20 19:20:43

类型检查知道set是不可序列化的,但是set的子类型是可序列化的。

Set是一个接口。但是set的实现是HashSet的。这是可序列化的。

您不希望序列化Set,因为Set不能被实例化。

代码语言:javascript
复制
Set st = new Set(); // illegal 

因此set实际上不需要实现Serializable。

无论如何,您可以使用LinkedHashSet和TreeSet。这些也是可序列化的。

票数 2
EN

Stack Overflow用户

发布于 2012-01-20 19:21:45

以下是一些常见的问题:

代码语言:javascript
复制
--HashSet:

All Implemented Interfaces:
    Serializable, Cloneable, Iterable<E>, Collection<E>, Set<E>

--TreeSet:

All Implemented Interfaces:
    Serializable, Cloneable, Iterable<E>, Collection<E>, NavigableSet<E>, 
    Set<E>, SortedSet<E> 

--ArrayList:

All Implemented Interfaces:
    Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess 

--LinkedList:

All Implemented Interfaces:
    Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, Queue<E> 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8940573

复制
相关文章

相似问题

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