hpe实训课(集合相关内容)

一.集合:

看做一种容器,用来存储对象信息,所有的集合都位于java.util包下

二.数组和集合的区别:

* 	 ①.数组存储的相同的数据类型,集合可以存储不同的数据类型
* 	 ②.数组可以存储基本类型的数据,也可以存储对象,集合只能存储对象
*   ③.数组长度是不可变化的,一旦确定了数组的长度,数组中只能存储固定个数的元素
*     集合可以存储数量不确定的数据。

三.集合包含的主要接口:Java集合中有两个跟接口Collection和Map派生出来的。

1.Collection接口
* 	 	①.List接口:存储有序的,可以重复的元素。(底层实现是使用数组)
* 	      -- ArrayList:主要实现类
* 		  -- LinkedList:链表的实现方式,主要对于频繁的插入,删除操作。
* 	      -- Vector:古老的实现类
*      ②.Set接口:存储无序的,不可重复的元素。(添加相同的元素只能存储一份)
*        -- HashSet:主要的实现类
*        -- LinkedHashSet:它是HashSet的一个字类,具有HashSet的特性,是根据元素的hashcode值来决定
*                         元素存储的位置,它也使用链表来维护元素的顺序。(性能是低于HashSet)
*        -- TreeSet:它是SortedSet接口的实现类,可以保证元素处于排序状态。(默认是采用自然排序)
*           自然排序:TreeSet会调用集合元素的compareTo(object)方法比较元素的大小关系,然后将元素按照升序排序
*      ③.Queue(队列)
2.Map接口:存储的数据是键值对<key,value>
*    	①.key:是不能重复的,使用Set来存储。
 *     	②.value:是可以重复的,使用Collection来存储。
*      ③.实现类:
*        -- HashMap:主要的实现类
*        -- LinkedHashMap
*        -- TreeMap
*        -- Hashtable:子类(Properties:键值对都是String类型)
package com.hpe.collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;

import org.junit.Test;


public class TestCollection1 {
	
	@Test
	public void testCollection1() {
		Collection coll = new ArrayList();
		// 1.size()返回集合中元素的个数
		System.out.println(coll.size());
		// 2.add(object obj)添加元素
		coll.add(123);
		coll.add("tina");
		coll.add(new Date());
		coll.add("A");
		coll.add("A");
		System.out.println(coll.size());
		System.out.println(coll);
		// 3.addAll(Collection coll)将集合中的所有元素添加到当前集合
		// Arrays:操作数组的一个工具
		// asList(T... a);
	    Collection coll1 = Arrays.asList(1,2,3,4,5);
	    coll.add(coll1);
	    System.out.println(coll);
	    // 4.isEmpty() 判断该集合是否为空
	    System.out.println(coll.isEmpty());
	    // 5.clear() 情况集合元素
	    coll.clear();
	    System.out.println(coll.isEmpty());
	}
	
	@Test
	public void testCollection2() {
		Collection coll = new ArrayList();
		coll.add(123);
		coll.add("tina");
		coll.add(new Date());
		coll.add("A");
		coll.add(new Person("eric",20));
		System.out.println(coll);
		// 6.contains(object obj):判断集合中是否可以包含指定的元素
		boolean b1 = coll.contains(123);
		System.out.println(b1);
		// 如果存入集合的元素是自定义对象,需要重写hashcode和equals方法
		boolean b2 = coll.contains(new Person("eric",20));
		System.out.println(b2);
		// 7.remove(Object obj) 删除集合中的元素
		boolean b3 = coll.remove("A");
		System.out.println(b3);
		System.out.println(coll);
		// 8.removeAll(Collection coll):从当前集合中删除另外一个集合
		Collection coll1 = new ArrayList();
		coll1.add(123);
		coll1.add("A");
		// coll.removeAll(coll1);
		System.out.println(coll);
		// 9.toArray()将集合转换成数组
		Object[] array = coll.toArray();
		for (Object obj : array) {
			System.out.println(obj);
		}
		
		System.out.println("------------------------");
		// 10. iterator() 迭代器 可以实现对集合的遍历
		// 迭代器是一种设计模式,它是一个轻量级对象
		// Iterator是一个接口,是集合的迭代器,集合可以通过Iterator去遍历集合中的元素
		// hasNext():判断集合中是否存在下一个元素,如果有则返回true
		// next():返回集合里的下一个元素
		Iterator iterator = coll.iterator();
		while (iterator.hasNext()) {
			Object obj = iterator.next();
			System.out.println(obj);
		}
		
	}
	

}

遍历集合:

 *  1.使用迭代器Iterator实现
 *  2.使用增强for循环
 *  3.使用for循环
 *  4.将集合转化为数组(toArray),再进行遍历
package com.hpe.collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class TestCollection2 {

	public static void main(String[] args) {
		Collection coll = new ArrayList();
		coll.add("张三");
		coll.add("abc");
		coll.add("A");
		coll.add(30);
		
		// 1.使用迭代器
		Iterator iterator = coll.iterator();
		// 判断还有没有下一个元素
		while (iterator.hasNext()) {
			// 获取下一个元素
			Object obj = iterator.next();
			System.out.println(obj);
		}
		System.out.println("-----------------");
		
		// 2.使用增强for循环
		for (Object obj : coll) {
			System.out.println(obj);
		}
		
		System.out.println("------------------");
		
		// 3.使用for循环
		Iterator iterator2 = coll.iterator();
		for(;iterator2.hasNext();) {
			Object obj = iterator2.next();
			System.out.println(obj);
		}
		
		System.out.println("-----------------------");
		
		// 4.将集合转化成数组,再进行遍历
		Object[] array = coll.toArray();
		for (Object object : array) {
			System.out.println(object);
		}
	}

}

发布了30 篇原创文章 · 获赞 0 · 访问量 1955

猜你喜欢

转载自blog.csdn.net/qq_38499019/article/details/104398816
今日推荐