java基础_集合框架

集合:例如 偶数、水仙花数、奇数,班集体 都属于集合
还有{“111”,“sss”,aaa"}也是集合

集合框架JCF(java collections framework) = 集合 + 统一标准(框架)

三种集合的类型: List Set Map
在这里插入图片描述在这里插入图片描述
1) ordered lists
【List】 队列
java.util.ArrayList ☆
* Vector
java.util.LinkedList
【Queue】 链表
java.util.PriorityQueue
2) dictionaries/maps 文档的索引和内容、身份证号和身份信息
【Map 】 k-v格式(身份证号、身份信息)
key不可重复,value可重复
java.util.HashMap ☆
3) sets k(不能重复),无序 unordered
【Set 】
java.util.HashSet
创建示例:
List list = new ArrayList(); //☆
Queue queue = new LinkedList();
Map map = new HashMap<Integer, Integer> (); //☆
Set set = new HashSet<>();

常见操作:增删改查
一、List
ArrayList
在这里插入图片描述
LinkedList
在这里插入图片描述
二、Set
Set接口存储一组唯一,无序的对象。
HashSet允许集合元素值为null 操作数据的方法与List类似,Set接口不存在get()方法。 Iterator接口表示对集合进行迭代的迭代器,专门实现集合的遍历。
方法:
• hasNext():判断是否存在另一个可访问的元素
• next():返回要访问的下一个元素

案例:

// 通过迭代器依次输出集合中所有元素的信息
System.out.println("使用Iterator遍历,员工姓名分别是:");
Iterator it = set.iterator();
while (it.hasNext()) {
Employee emp = (Employee) it.next();
String name = emp.getName();
System.out.println(name);
}

三、Map
在这里插入图片描述
案例:

package demo1;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;

/**
 * 	HashMap
 * 		
 * @author tcf
 *
 */
public class ShowMap {

	public static void main(String[] args) {
		HashMap<Integer, String> map1 = new HashMap<Integer, String> ();

		// 数据的常用操作: 增、删、改、查
		System.out.println("【增】使用put");
		map1.put(5, "angle");
		map1.put(2, "baby");
		map1.put(6, "hahahah");
		System.out.println(map1);
		
		// 删
		System.out.println("【删】remove-1: 使用key");
		map1.remove("5");// 指定的key类型与map1的key类型不一致,删除不了
		System.out.println(map1);
		map1.remove(6);
		System.out.println(map1);
		System.out.println("【删】remove-2: 使用key+value");
		System.out.println(map1.remove(2, "baby2"));// (2, baby)
		System.out.println(map1);
		
		// 改: replace只有找到key,才会更新value
		System.out.println("【改】-1:使用put");
		map1.put(2, "baby2");// 修改
		System.out.println(map1);
		System.out.println("【改】-2:使用replace");
		map1.replace(5, "haah");
		System.out.println(map1);
		map1.replace(8, "ssssssssssss");
		System.out.println(map1);
		
		// 查
		System.out.println("【查】-1:根据key查找");
		System.out.println(map1.containsKey(5));
		System.out.println(map1.containsKey(8));
		System.out.println("【查】-2:根据value查找");
		System.out.println(map1.containsValue("baby"));
		System.out.println(map1.containsValue("baby2"));
		
		System.out.println("【查】-3:使用get提取,迂回判断是否存在");
		String value8 = map1.get(8);
		if (value8 == null) {
			System.out.println("key(8)在map1中不存在");
		}
		else {
			System.out.println("8存在:"+ value8);
		}
		if (map1.get(5) == null) {
			System.out.println("key(5)在map1中不存在");
		}
		else {
			System.out.println("5存在");
		}
		
		// 【遍历】
		//key
		Set<Integer> keySet = map1.keySet();
		System.out.println(keySet);
		Iterator<Integer> iterator = keySet.iterator();
		while (iterator.hasNext()) {
			System.out.println("===" + iterator.next());
			//?2: 此处可以通过key获取到value,使用get(key)
		}
//		for (int i = 0; i < keySet.size(); i++) {
//			System.out.println(keySet.);
//		}
		
		//value
		Collection<String> values = map1.values();
		Object[] array = values.toArray();
		for (int i = 0; i < array.length; i++) {
			System.out.println("?????" + array[i].toString());
		}
		

		//    Entry:  (key,value)
		Set<Entry<Integer, String>> entrySet = map1.entrySet(); 
		System.out.println(entrySet);
		Iterator<Entry<Integer, String>> iterator2 = entrySet.iterator();
		while (iterator2.hasNext()) {
			Entry<Integer, String> one = iterator2.next();
			System.out.println("(" + one + ")");
			// 提取key、value => key     value
			System.out.println("\t" + one.getKey() +"     " + one.getValue());
		}
	}
}

Collections
Collections是java.util下的类,包含有各种关集合操作静态方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值