Java集合

匿名 (未验证) 提交于 2019-12-02 21:38:03

集合与数组

数组:(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。

集合:(只能存储对象,对象类型可以不一样)的长度可变(动态的数组),可在多数情况下使用。

集合的分类:

在java集合中,集合分了两个大的接口,分别为:Collection接口和Map接口。

Collection接口又分为:List接口和Set接口。分别由不同的子类来实现。

集合的方法:

我先创建一个ArrayList对象,用ArrayList来说明一下集合里面的基本方法:

Collection coll = new ArrayList();

(1)、size()方法:返回集合中元素个数

System.out.println(coll.size());

(2)、add(Object obj):向集合中添加一个元素(注:现在我没有使用泛型,所以不同类型的数据都能添加到集合中)

coll.add("AA"); coll.add(new Date()); coll.add(123); coll.add('B');

(3)、addAll(Collection coll):将形参coll中包含的所有元素添加到当前集合中

Collection coll1 = Arrays.asList(1,2,3); coll.addAll(coll1);

这里是将coll1集合里面的元素全部添加到coll集合当中。

(4)、isEmpty():判断集合是否为空,返回true 或者 false

System.out.println(coll.isEmpty());

(5)、clear():清空集合元素

coll.clear();

(6)、contains(Object obj):判断集合是否包含指定的obj元素,如果包含,返回true,否则返回flase

boolean b1 = coll.contains("AA"); System.out.println(b1);

(7)、containsAll(Collection coll):判断当前集合是否包含coll中所有的元素

Collection coll2 = new ArrayList(); coll2.add(123); coll2.add('B'); boolean b2 = coll.containsAll(coll2); System.out.println(b2);

这里是coll里面的元素是否包含coll2集合里面的全部元素,若包含全部元素,则返回true,否则返回false。

(8)、retainAll(Collection coll):求当前集合与coll的共有的元素,返回给当前集合(就相当于数学的交集)

coll.retainAll(coll2); System.out.println(coll);

(9)、remove(Object obj):删除集合中的obj元素。若删除成功,返回true;否则返回false。

boolean b3 = coll.remove(123);

(10)、removeAll(Collection coll):从当前集合中删除包含在coll中的元素。(相当于数学集合的差)

coll.removeAll(coll2);

(11)、toArray():将集合转化为数组

Object[] obj = coll.toArray(); for(int i=0;i<obj.length;i++){     System.out.println(obj[i]); }

集合的遍历方法:

Collection接口的遍历方法:

方法一:使用迭代器Iterator实现集合的遍历

Collection coll = new ArrayList(); coll.add(123); coll.add(456); coll.add(789); coll.add("AA"); //iterator:返回一个Iterator接口实现类的对象,迭代器Iterator实现集合的遍历 Iterator i = coll.iterator(); while(i.hasNext()){     System.out.println(i.next()); }

方法二:使用增强for循环实现集合(数组)的遍历

Collection coll = new ArrayList(); coll.add(123); coll.add(456); coll.add(789); coll.add("AA"); //增强for循环实现集合的遍历 for(Object i:coll){     System.out.println(i); }   String[] str = new String[]{"AA","BB","CC"}; //遍历的类型 +变量 :遍历的数组 for(String i:str){     System.out.println(i);  }

Map接口的遍历方法:

(1)、Set keySet():遍历 key 集

//遍历 key 集 Set set = map.keySet(); for(Object obj1 : set){     System.out.println(obj1); }

(2)、Collection values():遍历value 集

//遍历value 集 Collection values = map.values(); Iterator i = values.iterator(); while(i.hasNext()){     System.out.println(i.next()); }

(3)、Set entrySet():遍历"key-value"对

//遍历"key-value"对          //方式一 Set set1 = map.keySet(); for(Object obj2 : set1){     System.out.println(obj2 + "---->"+map.get(obj2)); }          //方式二: Set set3 = map.entrySet(); for(Object obj3 : set3){     Map.Entry entry = (Map.Entry) obj3; //    System.out.println(entry.getKey() + "---->" + entry.getValue());     System.out.println(entry); }

文章来源: Java集合
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!