1情景
不确定长度
一 一对应的数据关系
2集合框架`
3 Collection:不唯一,无序
3.1List: 不唯一,有序
遍历:for,增强for,iterator
3.1.1 ArrayLis
ArrayList:基于Array实现,在内存中分配连续空间,检索效率(遍历元素)和随机访问效率高
初始长度10,
3.1.1.1常用方法
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("已清空");
}
}
}