加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Java集合框架分析

发布时间:2021-11-20 18:55:16 所属栏目:教程 来源:互联网
导读:数据结构定义: 是以某种形式将数据组合在一起的集合。数据结构不仅保存数据,还支持访问和处理数据的操作。在面向对象思想里,一种数据结构也被认为是一个容器(container),它是一个能存储其他对象的对象。 Java集合框架: 在Java中,数据结构通常称为Jav

数据结构定义:
 
是以某种形式将数据组合在一起的集合。数据结构不仅保存数据,还支持访问和处理数据的操作。在面向对象思想里,一种数据结构也被认为是一个容器(container),它是一个能存储其他对象的对象。
 
Java集合框架:
 
在Java中,数据结构通常称为Java集合框架(Java Collection Framework)。
 
Java框架支持的两种容器:
 
一种是为了存储一个元素集合,一般称为集合(collection)
 
另一种是为了存储键/值对(key/value),称为图(map)
 
根接口:Collection
 
Collection接口是处理对象集合的根接口。我们知道,接口下面有很多方法,而Collection的派生类既完成这些方法,也相应添加和自己相关操作的方法。Collection接口的方法如下:
 
boolean add(o:E) //添加元素
boolean addAll(c:Collection<? extends E>) //将集合c中的所有元素添加给这个集合
void clear(); //删除
boolean contains(o:Object)//若集合包含包含元素o则返回ture
boolean containsAll(c:Collection<?>) //包含c中所有的元素
boolean equals(o:Object)  //集合间是否相等
void hasCode()//散列码
boolean isEmpty() //集合不包含任何元素
Interator<E> iterator()//集合中元素迭代器
boolean remove(o:Object)//删除元素o
boolean removeAll(c:Colection<?>)//从集合中删除c中的所有元素
boolean retainAll(c:Colection<?>)//保留c和该集合都有的元素,相当于两个集合求交集
int size() //返回大小
Object[] toArray() //返回该集合的元素构成的数组Object
 
从图中可以看出,在Collection集合中,有三种不同类型的集合,分别为Set(规则集),List(线性表),Queue(队列)
 
1 Set(规则集)
 
大体注意几点:首先,规则集是没有重复的元素的,其次,从Set派生的具体类有:散列类(HasSet),链式散列集(LinkedHashSet)和树形集TreeSet。
 
其中HasSet(散列集)因其没有特定的顺序,所以其输出时没有固定顺序的,如下程序输出的时候并不按照调用add的顺序输出的。
 
package gibbon.collection.set;
 
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
 
public class TestHashSet {
 public static void main(String[] args){
  Set<String> set = new HashSet<String>();
  set.add("Beijing");
  set.add("Shanghai");
  set.add("Guangzhou");
  set.add("Shenzhen");
  set.add("Beijing");
 
  System.out.println(set);
 
  Iterator<String> iterator = set.iterator();
 
  while(iterator.hasNext()){
   System.out.println(iterator.next().toUpperCase() + " ");
  }
 }
}
 
输出如下:
 
[Shenzhen, Guangzhou, Shanghai, Beijing]
SHENZHEN
GUANGZHOU
SHANGHAI
BEIJING

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读