Collection集合 (不唯一,无序):
1.List集合(不唯一、有序):
1.1ArrayList集合
1.2LinkedList集合
2.Set集合(唯一、无序)
ArrayList和LinkedList
存储方式:
ArrayList:长度可变的数组,存储空间连续
LinkedList集合:链表式结构存储
执行效率:
ArrayList:遍历和随机访问效率高
LinkedList集合:插入和删除效率高
遍历集合的方法
1.增强for循环遍历
2.迭代器Iterator遍历
public class TestDog { @Test public void test04(){ //创建对象 Dog meimei = new Dog("美美","贵宾犬"); Dog feifei = new Dog("菲菲","蝴蝶犬"); Dog dahuang = new Dog("大黄","金毛"); Dog xiaohei = new Dog("小黑","藏獒"); Map map = new HashMap<>(); map.put(meimei.getName(), meimei); map.put(feifei.getName(), feifei); map.put(dahuang.getName(), dahuang); map.put(xiaohei.getName(), xiaohei); Set keySet = map.keySet(); Iterator it = keySet.iterator(); while(it.hasNext()){ String key = (String)it.next(); Dog dog = (Dog)map.get(key); System.out.println(dog.getName()+" "+dog.getStrain()); } for(Object key : keySet){ Dog dog = (Dog)map.get(key); System.out.println(dog.getName()+" "+dog.getStrain()); } } @Test public void test03(){ Map map = new HashMap(); //增加数据 map.put("疾风剑豪", "亚索"); map.put("暗夜猎手", "薇恩"); map.put("盲僧", "李青"); //获取长度 System.out.println(map.size()); //根据key获取values String str = (String)map.get("疾风剑豪"); System.out.println(str); //移除某个key map.remove("疾风剑豪"); //判断是否包含某个key System.out.println(map.containsKey("疾风剑豪")); //获取所有的值 System.out.println(map.values()); System.out.println(map.keySet()); } @Test public void test02(){ //创建对象 Dog meimei = new Dog("美美","贵宾犬"); Dog feifei = new Dog("菲菲","蝴蝶犬"); Dog dahuang = new Dog("大黄","金毛"); Dog xiaohei = new Dog("小黑","藏獒"); //创建数组对象 LinkedList list = new LinkedList<>(); list.add(feifei); list.add(meimei); list.addFirst(xiaohei); for(int i = 0; i < list.size(); i++){ Dog d = (Dog) list.get(i); System.out.println(d.getName()+"\t"+d.getStrain()); } System.out.println("=============="); list.addLast(dahuang); for(int i = 0; i < list.size(); i++){ Dog d = (Dog) list.get(i); System.out.println(d.getName()+"\t"+d.getStrain()); } System.out.println(list.getFirst()); System.out.println(list.getLast()); System.out.println("=============="); list.removeFirst(); list.removeLast(); for(int i = 0; i < list.size(); i++){ Dog d = (Dog) list.get(i); System.out.println(d.getName()+"\t"+d.getStrain()); } } @Test public void test01(){ //创建对象 Dog meimei = new Dog("美美","贵宾犬"); Dog feifei = new Dog("菲菲","蝴蝶犬"); Dog dahuang = new Dog("大黄","金毛"); Dog xiaohei = new Dog("小黑","藏獒"); //创建数组对象 List list = new ArrayList(); list.add(meimei); list.add(feifei); list.add(xiaohei); //打印数组长度 System.out.println(list.size()); //遍历数组 for(int i = 0; i < list.size(); i++){ Dog d = (Dog) list.get(i); System.out.println(d.getName()+"\t"+d.getStrain()); } System.out.println("========="); list.add(0, dahuang);//第一位增加大黄 for(int i = 0; i < list.size(); i++){ Dog d = (Dog) list.get(i); System.out.println(d.getName()+"\t"+d.getStrain()); } System.out.println("========="); list.remove(0);//删除0号元素 for(int i = 0; i < list.size(); i++){ Dog d = (Dog) list.get(i); System.out.println(d.getName()+"\t"+d.getStrain()); } //判断是否有此元素 System.out.println(list.contains(xiaohei)); } }
原文:https://www.cnblogs.com/zl225/p/13197385.html