集合

1情景
不确定长度
一 一对应的数据关系
2集合框架`
在这里插入图片描述
3 Collection:不唯一,无序
3.1List: 不唯一,有序
遍历:for,增强for,iterator
3.1.1 ArrayLis
ArrayList:基于Array实现,在内存中分配连续空间,检索效率(遍历元素)和随机访问效率高
初始长度10,
3.1.1.1常用方法
标红的是collection的方法
contain():包含
clear():清空
isEmpty():是否为空
3.1.2LinkedLis
LinkedList:基于链表实现(双向链表),增删效率高
3…1.2.1方法
在这里插入图片描述

Vector:线程安全的类型,所有效率均低
3.2Set: 唯一,有序
set中存放的是对象的引用(地址)
set添加对象时采用对象的equals()方法,判断集合里是否有相同对象
遍历:增强for,iterato
HashSet:根据元素的hash值去确定元素在内存中的位置
Iterator:作为迭代器
hasNext():判断是否存在下一个元素
next():获取下一个元素
ListIterator:
hasPrevious():判断是否存在上一个
previous():获取上一个元素
4API(Application Programming Interface),应用程序编程接口
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
ctrl+o查看所有方法
ctrl+t 查看所有接口所有实现类

迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。此过程的每一次结果,都是由对前一次所得结果施行相同的运算步骤得到的。例如利用迭代法求某一数学问题的解。
对计算机特定程序中需要反复执行的子程序
(一组指令),进行一次重复,即重复执行程序中的循环,直到满足某条件为止,亦称为迭代。

占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号,

1.泛型的定义:在程序中我们将一个对象放入集合中,但是集合不会记住对象的类型,当我们在次使用对象的时候,对象变为Object类型,而程序中还是原来的类型,我们必须要自己转换其类型,为了解决这个问题,则提出泛型。

package cn.jd.country;

import java.util.Iterator;
import java.util.Map;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
//用泛型修改
public class MapCountry {
	public static void main(String[] args) {
	Map <String,String>countries=new HashMap<String,String>();
	//添加键值对
	countries.put("CN","中华人民共和国");
	countries.put("US","美利坚合众国");
	countries.put("UK","大不列颠及北爱尔兰联合王国");
	countries.put("FR","法兰西共和国");
	//获取键值对数量
	System.out.println(countries.size());
	//通过键获取值
	//String cn=(String)countries.get("CN");//返回值默认是Obiect类型
	System.out.println(countries.get("CN"));
	//判断是否包含某个键
	System.out.println(countries.containsKey("US"));
	//根据键移除键值对
	countries.remove("US");
	System.out.println(countries.size());
	//分别显示Map中键集,值集,键值对集
	System.out.println(countries.keySet());
	System.out.println(countries.values());
	System.out.println(countries);
	//分别获取键和值
	//1先获取每个key,再根据key拿到相应的value
	Set<String> keys=countries.keySet();
	//方法一 用增强for拿到每个key
	for(String key:keys){
		String value=countries.get(key);
		System.out.println(key+"="+value);
	}
	//方法二 用迭代器拿到每个key(相当于创建一个指针,初始位置在集合外)
	Iterator<String> iterator=keys.iterator();//iterator()方法返回泛型接口
	while(iterator.hasNext()){
		String key=iterator.next();
		String value=countries.get(key);
		System.out.println(key+"="+value);
	}
	//2先获取键值对,再在每个键值队中分别取出key和value
	Set<Entry<String, String>> ms=countries.entrySet();//Map中所有键值对集合
//	for(Object obj:ms){
//		Map.Entry me=(Map.Entry)obj;//获取每个键值对(Map.entry)
//		Object key=me.getKey();//获取每个键值队中的键
//		Object value=me.getValue();//获取每个键值队中的值
//		System.out.println(((String)key+"="+(String)value));
//	}
	for (Entry<String, String> entry : ms) {
		String key=entry.getKey();
		String value=entry.getValue();
		System.out.println(key+"-"+value);
	}
	//清空
	countries.clear();
	if(countries.isEmpty()){
		System.out.println("已清空");
	}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值