package com.gather;
import java.util.ArrayList;
import java.util.List;
public class Gather06 {
public static void main(String[] args) {
List li = new ArrayList();//创建集合
//往集合添加元素
li.add(12);//0
li.add("yanyu");//0
li.add('&');
System.out.println("------foreach 遍历 集合 li -----------");
// fore
/*利用对象的 多态
继承 任何一个类都会直接或者 间接继承 Object (祖宗类)
Integer 是Object的后代
"yanyu" 是Object的后代
'&'是Object的后代
----> Object 是 所有类的 父类 (祖宗类)
A 的父亲是 B B 的父亲是 C
A是B 的后代 ????对
A是 C 的后代 ??? 对
* */
for (Object temp:li
//Object 是所有类的 父类 ,所以 可以这样写 ,
// 所有的其他 类型 String Integer Character 全部向上 转型
// 子类型 ---》 父类 类型 (自动 转)
) {
System.out.println(temp);//打印 temp == 打印 li
}
}
}
package com.gather;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Gather07 {
public static void main(String[] args) {
// List li = new ArrayList();
// ArrayList li = new ArrayList();
List li = new ArrayList();// 集合 只能 存放 引用类型
// List 接口类型 li (引用 在栈内存 局部变量) = new ArrayList();(这才整的对象)
li.add(12);
// int 对应的 引用 类型 Integer
li.add(1.2);
// Double
li.add("yanyu");
// String
li.add(true);
li.add(45);// 自动检测到 需要用引用类型 ,所以 ,我们写的
// 45 确实 是 int ,系统 自动 将他 变成了 Integer
// 不是 布尔型 而是boolean 对应的 引用类型 Boolean
// java 严格 区分大小写
System.out.println("迭代器 遍历 集合");
/*Iterator<E> iterator()
以正确的顺序返回该列表中的元素的迭代器。
一个一个的吧 集合 的 元素 拿 出来
* */
Iterator it = li.iterator();//ctrl alt v
// 调用 实例方法 拿到了 迭代器 对象
// 利用 迭代器对象 去 遍历 集合
while (it.hasNext()){
//判断集合 是否 有元素 用来遍历
// 真正的 遍历
Object next = it.next();
System.out.println(next);
}
}
}
package com.gather.map;
import java.util.HashMap;
import java.util.Map;
public class MapTest01 {
public static void main(String[] args) {
/*V put(K key, V value)
将指定的值与该映射中的指定键相关联(可选操作)。
put == add() put () 这个方法 去 添加 元素 到map 集合中
*/
Map m = new HashMap();
// 向 集合添加 元素
// put(K key, V value)
/*键值对 , K key, V value) 一个 key 有 唯一个 value 与它 对应
key value 可以是 任意的 引用类型
* */
m.put("name","yanyu");// ctrl + p 提示 传什么参数
m.put("no","1001");// ctrl + p 提示 传什么参数
m.put(12,'$');
m.put(12.02,new MapTest01());
// 不用泛型情况下 ,集合是大杂烩 ,用了 泛型,集合 类似于 数组
System.out.println(m.size());//4
}
}
package com.gather.map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapTest02 {
public static void main(String[] args) {
Map<Object,Object> m = new HashMap<>();
// alt + 光标 移动
m.put("name","zhangsan");
m.put("no",101);
m.put("addr","dongguan");
System.out.println("利用 key 值遍历");
Set<Object> o = m.keySet();
Iterator<Object> it = o.iterator();
while (it.hasNext()){
Object key = it.next();// key = name
//
System.out.println(m.get(key));// key get(name) --- > zhangsan
}
}
}