集合类之Map
1、键值对,key-value,具有映射关系
2、Map的key唯一,value可以相同
3、Map的key类似一个Set,value类似List
4、LinkedHashMap遍历顺序跟插入顺序一致,HashMap不能保证顺序
集合类之List
1、List是Collection的子接口,所以List可以使用Collection全部方法
2、Arrays.ArrayList是一个长度固定的List,只能遍历不能 操作
集合类之Set
1、Set不允许重复数据
集合类之Test
package Test;
import java.util.*;
import java.util.Map.Entry;
/**
* Map集合的操作
* @author test
*
*/
public class OtherTest {
public static int i = 1;
public static String name = "wang";
public static void main(String[] args) throws Exception {
Map<Object,Object> m = new HashMap<Object,Object>();
m.put("姓名", "cxy");
m.put("性别", "男");
//当key不存在于Map的时候put方法可以看作是新增
m.put("邮箱", "163@163.com");
//当key存在于Map的时候put方法可以看作是更新
m.put("邮箱", "cxyapi@163.com");
System.out.println(m);
System.out.println("------------------基础操作--------------------");
System.out.println("m的key中是否包含'姓名'? 答:"+ m.containsKey("姓名"));
System.out.println("m的value中是否包含'女'? 答:"+ m.containsValue("女"));
System.out.println("邮箱是:" + m.get("邮箱"));
System.out.println("m是否为空?答:" + m.isEmpty());
System.out.println("m大小?答:"+m.size());
System.out.println("------------------Set循环--------------------");
Set<Object> set = m.keySet();
for(Object obj:set) {
System.out.println(obj + ":" + m.get(obj));
}
System.out.println("-----------------Iterator循环----------------");
Iterator<Entry<Object, Object>> iterator = m.entrySet().iterator();
while(iterator.hasNext()) {
Map.Entry<Object, Object> obj = iterator.next();
System.out.println(obj.getKey() + ":" + obj.getValue());
}
System.out.println("--------------Map.entrySet循环-----------------");
for(Entry<Object, Object> entry:m.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
}
}
package Test;
import java.util.*;
/**
* Set集合的操作
* @author Test
*
*/
public class SetTest {
public static void main(String[] args) {
Set<Object> set = new HashSet<Object>();
set.add("t");
set.add("e");
set.add("s");
set.add("0");
System.out.println("--------------Iterator循环-----------------");
Iterator<Object> iterator = set.iterator();
while(iterator.hasNext()) {
String value = iterator.next().toString();
System.out.println(value);
}
System.out.println("--------------foreach循环---------------------");
for(Object str:set) {
System.out.println(str);
}
}
}
package Test;
import java.util.*;
/**
* List集合的操作
* @author Test
*
*/
public class ListTest {
public static void main(String[] args) {
List<Object> list = new ArrayList<Object>();
list.add("t");
list.add("e");
list.add("s");
list.add("t");
System.out.println(list);
System.out.println("----------------for循环---------------------");
for(int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("--------------foreach循环---------------------");
for(Object obj:list) {
System.out.println(obj);
}
System.out.println("--------------Iterator循环---------------------");
Iterator<Object> iterator = list.iterator();
while(iterator.hasNext()) {
String value = iterator.next().toString();
System.out.println(value);
}
}
}
4、集合的区别
List:有序,可以重复(长度可更改的数组)
Set:无序,不能有重复
Map: 键值对,key不能重复,value可以重复