package com.foreknow.utils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import com.foreknow.demo.Employee;
/**
* 集合(Collection):
* Java中集合类是用来存放对象的
* 集合相当于一个容器,里面包容着一组对象 —— 容器类
* 其中的每个对象作为集合的一个元素出现
* Java API提供的集合类位于java.util包内
*
* 数组也是容器,它是定长的,访问非常快,但是数组不会自动扩充
* 数组可以包含基本数据类型或引用类型的对象,而集合中只能包含引用类型的对象
*
* Collection接口:
* 1.List接口:实现类ArrayList(它是基于数组实现的)动态的数组列表 长度不是固定的,它是一个有序的集合
* List<E>;<E>表示范型,用来约束集合元素的类型。
* 2.Set接口:一个不包含重复元素的collection,它是无序的集合
* 实现类有两个:HashSet(无序的) TreeSet(具有排序功能)
* 3.Map接口:它不是Collection接口的子接口
* 实现类有两个:HashMap(无序的) TreeMap(具有排序功能)
* Map添加元素是通过键-值对的方式通过put(k,v)方法来完成的。
* @author Administrator
*
*/
public class CollectionDemo {
public static void main(String[] args) {
//创建一个List集合
List<String> list = new ArrayList<String>();
//向集合中添加元素
list.add("tom1");
list.add("tom2");
list.add("tom3");
// list.add(1);
// list.add(3.14);
// list.add(false);
//从集合当中获取某一个元素
System.out.println(list.get(2));
//获取集合中的元素个数
System.out.println(list.size());
//遍历集合
for(int i = 0;i<list.size();i++){
System.out.println(list.get(i));
}
System.out.println("-----------");
for(String s : list){
System.out.println(s);
}
System.out.println("-----------");
//迭代器(Iterator接口)遍历集合
Iterator<String> it = list.iterator();
//it.hasNext()如果仍有元素可以迭代,则返回true。
while(it.hasNext()){
//获取到集合中的元素,并指向下一个元素
String s = it.next();
System.out.println(s);
}
//向集合中添加三个Employee对象,然后遍历输出
Employee e1 = new Employee("1", "tom", "work", 11.1);
Employee e2 = new Employee("2", "tom2", "work2", 22.2);
Employee e3 = new Employee("3", "tom3", "work3", 33.3);
List<Employee> list2 = new ArrayList<>();
list2.add(e1);
list2.add(e2);
list2.add(e3);
for (int i = 0; i < list2.size(); i++) {
Employee e = list2.get(i);
System.out.println(e.getId()+"-"+e.getName());
}
System.out.println("-------foreach--------");
for(Employee employee:list2){
System.out.println(employee.getId()+"-"+employee.getName());
}
System.out.println("-------Iterator---------");
Iterator<Employee> it2 = list2.iterator();
while (it2.hasNext()) {
Employee ee = it2.next();
System.out.println(ee.getId()+"-"+ee.getName());
}
System.out.println("-------set集合---------");
Set<Employee> set = new HashSet<>();
//向Set集合中添加元素
set.add(e1);
set.add(e2);
set.add(e3);
//获取Set集合中的元素
Iterator<Employee> it3 = set.iterator();
while (it3.hasNext()) {
Employee e = it3.next();
System.out.println(e.getId()+"--+"+e.getName());
}
System.out.println("-------TreeSet---------");
Set<Integer> set1 = new TreeSet<>();
set1.add(3);
set1.add(1);
set1.add(2);
set1.add(2);
set1.add(4);
Iterator<Integer> it4 = set1.iterator();
while (it4.hasNext()) {
Integer e = it4.next();
System.out.println(e);
}
System.out.println("-------Map集合---------");
//创建了一个Map容器
Map<String, Employee> maps = new HashMap<>();
maps.put("e1", e1);
maps.put("e2", e2);
maps.put("e3", e3);
maps.put("e3", e3);
//获取Map集合中的某一个元素
Employee es = maps.get("e3");
System.out.println(es.getId()+"--"+es.getName());
}
}
2019-08-13 集合
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...