集合能够存储不一样类型的对象算法
//建立一个ArrayList对象 //ArrayLIst实现了list接口,List接口继承Collection接口,(多态的体现) Collection coll = new ArrayList(); coll.add("1"); //添加一个元素 //建立一个新数组 Collection newColl = new ArrayList(); newColl.add("新数组"); newColl.add("新数组"); coll.addAll(newColl); //添加新数组 //是否包含某元素 System.out.println("是否包含1 = " + coll.contains("1")); //是否包含一组元素 System.out.println("是否包含一组元素 = " + coll.containsAll(newColl)); //元素的个数 int size = coll.size(); System.out.println(size); //是否为空 boolean isEmpty = coll.isEmpty(); //删除某个元素 coll.remove("1"); //删除一组元素 //coll.removeAll(newColl); System.out.println(coll); //转换成数组 Object[] arr = coll.toArray();
*List做为Collection的子接口,具有Collection中的方法。
因为List接口是有序的,也具备一些特有的方法 :数组
//list 集合比collection多一部分关于下标的操做, //例如插入元素到什么位置,根据位置删除元素 List list = new ArrayList(); //添加一个元素 list.add("12"); list.add("13"); list.add("3"); list.add("23"); //根据下标查找元素 Object object = list.get(1); //根据元素查找下标 int index = list.indexOf("2"); //修改 1,元素的下标 2,元素的新值; list.set(1, "修改的元素"); //截取子串 1,开始的下标 2,结束的下标 List subList = list.subList(1, 3); //根据下标删除元素 参数:下标 list.remove(1); //根据元素删除元素 参数:元素 list.remove("4"); System.out.println(list); //清空集合 list.clear();
ArrayList list = new ArrayList();安全
list.add("1"); list.add("2"); list.add("3"); //删除元素 //根据下标删除元素 list.remove(1); //根据元素删除元素 list.remove("2"); //更新元素 list.set(1, "更新的元素"); //查找元素 Object object = list.get(1); //是否包含某元素 boolean isContain = list.contains("3"); //元素的个数 int size = list.size();
若是删除,添加操做比较多,就用LinkedList
若是查找,更新操做较多,就用ArrayList数据结构
LinkedList list = new LinkedList(); list.add("1"); list.add("2"); list.add("3"); //删除元素 //根据下标删除元素 list.remove(1); //根据元素删除元素 list.remove("2"); //更新元素 list.set(1, "更新的元素"); //查找元素 Object object = list.get(1); //是否包含某元素 boolean isContain = list.contains("3"); //元素的个数 int size = list.size();
//Map (键值结构) //key/value HashMap map = new HashMap(); //存值 map.put("a", "值"); map.put("b", "值1"); map.put("c", "值2"); map.put("z", "值3"); //取值 String value = (String)map.get("c"); System.out.println("key对应的值:" + value); //修改 map.put("z", "修改的值"); //若是key存在,修改, 若是key不存在,添加; //值是能够重复的,键不能重复 //删除 map.remove("a"); //遍历map Set keySet = map.keySet(); //用集合接收获取全部的键 //Collection valueSet = map.values(); //获取全部的值 //for (类型 变量名 : 集合) {} for (Object object : keySet) { System.out.print("key = " + object); System.out.print(","); System.out.println("value = " + map.get(object)); }