Java 集合-List-Set-Map

List  集合

是 Collection 接口的子接口,也是最常用的接口。此接口对 Collection 接口进行了大量的扩展,List 集合里的元素是允许重复的

1,ArrayList 实现类

                ArrayList<String> arrayList=new ArrayList<String>();

// 添加元素
arrayList.add("张三");

arrayList.add("李四");

// 将指定的元素插入此列表中的指定位置。

arrayList.add(1, "小张三");

// 用指定的元素替代此列表中指定位置上的元素。

arrayList.set(2, "小李四");

// 移除此列表中指定位置上的元素。

arrayList.remove(0);

for(int i=0;i<arrayList.size();i++){
System.out.print(arrayList.get(i)+" ");
}

2,LinkedList 实现类

                LinkedList<String> linkedList=new LinkedList<String>();
linkedList.add("张三");
linkedList.add("李四");
linkedList.add("王五");
linkedList.add("李四");
linkedList.add("赵六");

// 返回此列表中首次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
System.out.println(linkedList.indexOf("李四"));

// 获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。
System.out.println(linkedList.peekFirst());

// 获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null。
System.out.println(linkedList.peekLast());

// 获取并移除此列表的第一个元素;如果此列表为空,则返回 null。
System.out.println(linkedList.pollFirst());

// 获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。
System.out.println(linkedList.pollLast());

for(int i=0;i<linkedList.size();i++){
System.out.print(linkedList.get(i)+" ");
}


集合的遍历

1,Iterator

                LinkedList<Student> list=new LinkedList<Student>();
list.add(new Student("张三",10));
list.add(new Student("李四",20));
list.add(new Student("王五",30));
/**
* 用Iterator遍历集合
*/
Iterator<Student> it=list.iterator();  // 返回一个迭代器
while(it.hasNext()){
Student s=it.next();   // 返回迭代的下一个元素。
System.out.println("姓名:"+s.getName()+"年龄:"+s.getAge());
}

2,foreach

                LinkedList<Student> list=new LinkedList<Student>();
list.add(new Student("张三",10));
list.add(new Student("李四",20));
list.add(new Student("王五",30));
/**
* 用foreach遍历
*/
for(Student s:list){
System.out.println("姓名:"+s.getName()+"年龄:"+s.getAge());
}

Set集合 

是 Collection 接口的子接口,没有对 Collection 接口进行扩展,里面不允许存重复的内容

1,HashSet 类

               /**
* 1,HashSet是无序
* 2,不允许有重复的值
*/
HashSet<String> hs=new HashSet<String>();
hs.add("1");
hs.add("2");
hs.add("3");
hs.add("4");
hs.add("3");

/**
* 用Iterator遍历集合
*/
Iterator<String> it=hs.iterator();
while(it.hasNext()){
String s=it.next();
System.out.println(s+" ");
}

Map 集合 

是存放一对值的最大接口,即接口中的每一个元素都是一对,以 key->value 键值对的形式保存

1,HashMap 类

                HashMap<String,Student> hashMap=new HashMap<String,Student>();
hashMap.put("1号", new Student("张三",10));
hashMap.put("2号", new Student("李四",20));
hashMap.put("3号", new Student("王五",30));

// 通过key,获取value
Student s=hashMap.get("1号");
System.out.println(s.getName()+":"+s.getAge());

Iterator<String> it=hashMap.keySet().iterator(); // 获取key的集合,再获取迭代器
while(it.hasNext()){
String key=it.next();  // 获取key
Student student=hashMap.get(key);  // 通过key获取value
System.out.println("key="+key+" value=["+student.getName()+","+student.getAge()+"]");
}







阅读更多
个人分类: java
上一篇Java日期处理类
下一篇多线程
博主设置当前文章不允许评论。

Java Generics and Collections

2018年05月09日 2.13MB 下载

JAVA 经典算法书集合(1)

2011年06月27日 10.57MB 下载

java集合与映射(牛)

2009年04月28日 3KB 下载

java集合框架图

2011年10月18日 313KB 下载

java 文件管理集合

2010年07月11日 6KB 下载

java集合API

2007年11月05日 204KB 下载

java集合思维导图

2017年08月07日 64KB 下载

JAVA应用实例集合

2011年12月03日 59KB 下载

没有更多推荐了,返回首页

关闭
关闭