代码块
```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.Set;
import java.util.Map;
import java.util.TreeSet;
/**
* 集合:
* 1.Java中集合类是用来存放对象的
2.集合相当于一个容器,里面包容着一组对象 —— 容器类
3.其中的每个对象作为集合的一个元素出现
4.Java API提供的集合类位于java.util包内
Java中数组与集合的比较
1.数组也是容器,它是定长的,访问非常快,但是数组不会自动扩充
2. 数组可以包含基本数据类型或引用类型的对象,而集合中只能包含引用类型的对象
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("tom");
list.add("lisa");
list.add("iu");
//从集合中获取某一个元素
System.out.println(list.get(2));
System.out.println("-----------------");
//遍历集合
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("------------");
//foreach的写法
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);
}
Emploree e1=new Emploree("1002", "iu", 10.0, "ren");
Emploree e2=new Emploree("1003", "rose", 10.0, "人");
Emploree e3=new Emploree("1004", "jisoo", 10.0, "ren");
Emploree e=new Emploree("1005", "lisa", 10.0, "ren");
List<Emploree> list1=new ArrayList<Emploree>();
list1.add(e);
list1.add(e1);
list1.add(e2);
list1.add(e3);
for (int i = 0; i < list1.size(); i++) {
Emploree emploree=list1.get(i);
System.out.println(emploree.getId()+" "+emploree.getName());
}
System.out.println("-------------------");
System.out.println(list1.get(2).getName());
System.out.println("------------------");
for (Emploree emploree : list1) {
System.out.println(emploree.getSalary()+" "+emploree.getDepartment());
}
System.out.println("------------------");
Iterator<Emploree> ee=list1.iterator();
while(ee.hasNext()){
Emploree emploree=ee.next();
System.out.println(emploree.getId()+" "+emploree.getName());
}
System.out.println("--------------------set集合----------------------");
//创建类一个set集合
Set<Emploree> set=new HashSet<Emploree>();
//向集合中添加元素
set.add(e);
set.add(e1);
set.add(e2);
set.add(e3);
Iterator<Emploree> it3=set.iterator();
while(it3.hasNext()){
Emploree emploree=it3.next();
System.out.println(emploree.getId()+"----"+emploree.getName());
}
Set<Integer> set1=new TreeSet<Integer>();
set1.add(3);
set1.add(2);
set1.add(4);
set1.add(7);
Iterator<Integer> it4=set1.iterator();
while(it4.hasNext()){
Integer integer=it4.next();
System.out.println(integer);
}
System.out.println("----------Map集合---------");
Map<Integer, Emploree> maps=new HashMap<>();
//向Map集合中添加元素
maps.put(1, e1);
maps.put(2, e2);
maps.put(3, e3);
maps.put(4, e3);
//通过键获取Map集合中的一个元素
Emploree es=maps.get(3);
System.out.println(es.getId()+" "+es.getName());
// list.add(1);
// list.add(3.14);
// list.add(false);
}
}
集合
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 下面我们接着为访问标志,类索引,父类索引,接口索引集合,字段集合,方法表集合 访问标志: 常量池结束后紧接着的两个...
- //可变集合类和不可变集合类的copy和mutablecopy有什么区别?如果是集合是内容复制的话,集合里面的元素...
- ''''ArrayList a = new ArrayList<>(); ArrayList b = new Ar...
- 整个《面试题》都是对[2017年6月iOS招人心得(附面试题)]的整理 1.可变集合类 和 不可变集合类的 cop...