• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

java集合(一)—数据结构详解

java 搞代码 4年前 (2022-01-09) 20次浏览 已收录 0个评论

当我们要处理一串数据的时候,相比较c++和c中的数组和指针,在Java中我们更为常用的是ArrayList、HashMap等集合数据结构。c语言对指针的支持成就了他的深度,而Java中多种多样的包装类成就了他的广度。在java中,我们一般将List、Map、Set等数据结构通归为集合数据结构,这些类都存在于集合类库中。

(一) 本文来源[email protected]搞@^&代*@码2网 集合接口

1.集合的接口和实现分离

与其他的数据结构类库相似的,java的集合类库也采用了这种接口和实现分离的方法。

这种方法的好处是不言而喻的。当你要实例化一个队列时,如果你想去选择链式结构或者循环数组或其他不同的实现方法,只需为集合接口引用不同的实现类即可。

Queue<String> qe1 = new LinkedList<>();//LinkedList是链表实现队列Queue<String> qe2 = new ArrayDeque<>();//ArrayDeque是循环数组实现队列

同样是Queue的实现类,但采用了不同的方式。

2.Collection接口

在集合类库中,最基本的接口是Collection接口。

Collection接口可以理解成集合类库中的树根,所有的其他类都是从之演变出来的。因为Colleaction是一个泛型接口,所以在这个泛型接口中java类库的设计者添加了许多的方法,所有的实现类都必须去实现这些方法。

int size()//返回此 collection 中的元素数。//如果此 collection 包含的元素大于 Integer.MAX_VALUE,则返回 Integer.MAX_VALUE。boolean isEmpty()//如果此 collection 不包含元素,则返回 true。 boolean contains(Object o)//当且仅当此 collection 至少包含一个满足 (o==null ? e==null : o.equals(e)) 的元素 e 时,返回 true。 Iterator<E> iterator()//返回在此 collection 的元素上进行迭代的迭代器。//关于元素返回的顺序没有任何保证,除非此 collection 是某个能提供保证顺序的类实例。 Object[] toArray()//返回包含此 collection 中所有元素的数组。//如果 collection 对其迭代器返回的元素顺序做出了某些保证,那么此方法必须以相同的顺序返回这些元素。 //返回的数组将是“安全的”,因为此 collection 并不维护对返回数组的任何引用。//调用者可以随意修改返回的数组。 //此方法充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。 boolean add(E e)//确保此 collection 包含指定的元素。如果此 collection 由于调用而发生更改,则返回 true。//如果此 collection 不允许有重复元素,并且已经包含了指定的元素,则返回 false。boolean remove(Object o)//如果此 collection 包含一个或多个满足 (o==null ? e==null : o.equals(e)) 的元素 e,则移除这样的元素。//如果此 collection 包含指定的元素(或者此 collection 由于调用而发生更改),则返回 true 。 boolean containsAll(Collection<?> c)//如果此 collection 包含指定 collection 中的所有元素,则返回 true。 boolean addAll(Collection<? extends E> c)//将指定 collection 中的所有元素都添加到此 collection 中。//如果在进行此操作的同时修改指定的 collection,那么此操作行为是不确定的。boolean removeAll(Collection<?> c)//移除此 collection 中那些也包含在指定 collection 中的所有元素。//此调用返回后,collection 中将不包含任何与指定 collection 相同的元素。 void clear()//移除此 collection 中的所有元素。boolean retainAll(Collection<?> c)//仅保留此 collection 中那些也包含在指定 collection 的元素。//移除此 collection 中未包含在指定 collection 中的所有元素。

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:java集合(一)—数据结构详解
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址