java集合框架
/*
* Java集合框架提供了一套性能优良,使用方便的接口和类,他们位于java.util包中
* Collection:①List(List包括ArrayList和Linklist;); ②Set(Set包括 HashSet 和 TreeSet);
* Map 包括 HashMap 和 TreeMap
* List接口常用方法:
* ①boolean add(object o):在列表的末尾顺序添加元素,起始索引位置从0开始;
* ②void add(int index,object o):在指定位置添加元素(索引位置介于0和元素个数之间);
* ③int size():返回列表中的元素个数;
* ④Object get(int index):返回指定索引位置的元素;
* ⑤boolean remove(Object o):从列表中删除元素;
* ⑥Object remove(int index):从列表中删除指定位置元素,起始索引位置从0开始;
* LinkedList独有方法:
* linkedList.addFirst("");linkedList.removeFirst();linkedList.getFirst();
* linkedList.addLast("");linkedList.removeLast();LinkList.getLast();
*
* ArrayList在遍历集合中的元素时,其效率比LinkedList要高的多;
* ArrayList其是顺序结构,添加方便,删除添加则麻烦;LinkedList链式结构,添加麻烦,删除简单
*
* */
List和Dog类
package com.Collection;
public class Dog {
private String name;
private String type;
//无参构造方法
public Dog() {
}
//有参构造方法
public Dog(String name, String type) {
this.name = name;
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
package com.Collection;
import java.util.ArrayList;
import java.util.Iterator;
public class List {
/*
* Java集合框架提供了一套性能优良,使用方便的接口和类,他们位于java.util包中
* Collection:①List(List包括ArrayList和Linklist;); ②Set(Set包括 HashSet 和 TreeSet);
* Map 包括 HashMap 和 TreeMap
* List接口常用方法:
* ①boolean add(object o):在列表的末尾顺序添加元素,起始索引位置从0开始;
* ②void add(int index,object o):在指定位置添加元素(索引位置介于0和元素个数之间);
* ③int size():返回列表中的元素个数;
* ④Object get(int index):返回指定索引位置的元素;
* ⑤boolean remove(Object o):从列表中删除元素;
* ⑥Object remove(int index):从列表中删除指定位置元素,起始索引位置从0开始;
* LinkedList独有方法:
* linkedList.addFirst("");linkedList.removeFirst();linkedList.getFirst();
* linkedList.addLast("");linkedList.removeLast();LinkList.getLast();
*
* ArrayList在遍历集合中的元素时,其效率比LinkedList要高的多;
* ArrayList其是顺序结构,添加方便,删除添加则麻烦;LinkedList链式结构,添加麻烦,删除简单
*
* */
public static void main(String[] args) {
// ArrayList objects = new ArrayList();
// List list = new ArrayList();//上转型;list是接口不能实例化,但ArrayList()可以
// LinkedList<Object> objects = new LinkedList<>();//大体上和ArrayList相似;
java.util.List<String > list = new ArrayList<String>();//泛型(事先确定数据类型):<list的数据类型>
list.add("qiqi");
list.add("sansan");
list.add("qiqi");
list.add("77");
for (int i = 0; i < list.size(); i++) {
Object o = list.get(i);//需要元素有序
// String s = (String) list.get(i);//两种方法都可以
System.out.println(o);
}
//迭代器:Iterator;
Iterator<String> it = list.iterator();
while (it.hasNext()){
String s = it.next();
System.out.println(s);
}
/*
* 1.list存的元素是可以重复的;
* 2.list元素是有序的;
* */
//Dog
ArrayList<Dog> dogs = new ArrayList<>();
dogs.add(new Dog("nana","雪纳瑞"));
dogs.add(new Dog("rerq","泰迪"));
dogs.add(new Dog("abcd","纳瑞"));
dogs.add(new Dog("nnnnm","瑞"));
System.out.println("总共有"+ dogs.size()+"条狗");
for (int i = 0; i < dogs.size(); i++) {
Dog dog = dogs.get(i);
System.out.println(dog.getName() + "\t" + dog.getType());
}
}
}
集合类Set
package com.Collection;
import java.util.HashSet;
public class Set {
/*
* List:存储的元素有序并可重复;
* Set:存储的元素无序,并不可重复
* */
public static void main(String[] args) {
HashSet<String> set = new HashSet<String>();
set.add("zs");
set.add("ls");
set.add("qiqi");
set.add("ls");
//增强for循环
for (String s : set) {
System.out.println(s);
}
// Math.random();//生成随机数;
//生成不重复的20~50之间的十个随机数;
HashSet<Integer> set1 = new HashSet<>();
while (set1.size() < 10){
int num = (int) (Math.random()*30+20);
set1.add(num);
}
for (Integer i : set1) {
System.out.println(i);
}
}
}
Map
package com.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class Map {
public static void main(String[] args) {
/*
* map为双列集合
* key不可重复,值可以重复;
* key可以为空,也可以为null
*
* */
HashMap<String, String> map = new HashMap<>();
map.put("China","中国");
map.put("USA","美国");
map.put("Rusa","俄罗斯");
map.put("Jpa","日本");
map.put("Jpa","sansan");
System.out.println(map.get("USA"));
System.out.println("map中元素个数:"+map.size());
map.remove("Jpa");//删除元素
map.containsKey("Jpa");//判断是否存在key
//获取map中所有的元素
Set<String> strings = map.keySet();//获取map中所有的key;keySet()返回key的集合
Iterator<String> it = strings.iterator();
while (it.hasNext()){
String key = it.next();
System.out.println(key + ":" + map.get(key));
}
}
}