Java正式day_13——集合
集合:数据的容器
动态数组:ArrayList
ArrayList<integer> list=new ArrayList<Integer>(); //泛型
泛型:指定集合内存储元素的类型。
进阶(选):
-
?:通配符表示类型不确定。
ArrayList<?> list=new ArrayList<Integer>(); //泛型
-
? extends A:表示泛型的上限是Number类型。
ArrayList<? extends Number> list=new ArrayList<Integer>(); //泛型
-
?super A: 表示泛型的上界是Number(A)。
ArrayList<? super Number> list=new ArrayList<Integer>(); //泛型
多态:
List <Integer> list=new ArrayList<Integer>();
list.add();
举例:
1 package com.situ.chapter1; 2 /** 3 * 测试list集合 4 */ 5 import java.util.ArrayList; 6 import java.util.Comparator; 7 import java.util.List; 8 import java.util.Scanner; 9 public class Subject1 { 10 public static void main(String[] args) { 11 Scanner scanner = new Scanner(System.in); 12 List<Integer> list = new ArrayList<Integer>(); 13 while (true) { 14 int a = scanner.nextInt(); 15 if (a == -1) { 16 break; 17 } 18 list.add(a); 19 } 20 list.sort(new Comparator<Integer>() { 21 @Override 22 public int compare(Integer o1, Integer o2) { 23 return o1 - o2; 24 } 25 }); 26 for (Integer integer : list) { 27 System.out.println(integer); 28 } 29 scanner.close(); 30 } 31 }
Set集合:可以自动去重的容器。
HashSet Implement Set
HashSet:无序的,去重。
1 public static void main(String args[]){ 2 int[] a = new int[] {2, 2, 2, 2, 3, 3, 3, 5, 5, 5, 5, 7, 7, 7, 9, 10}; 3 Set<Integer> set =new HashSet<Integer>(); 4 for( int i:a){ 5 set.add(i); 6 } 7 for (Integer i : set) { 8 System.out.println(i); 9 } 10 }
Map 容器
HashMap Implement Map
一个元素可以映射到另一个元素。
1 //泛型类型第一个key的类型,第二个是value得类型 2 Map <Sting,String>map=new HashMap<>(); 3 //键-值对 4 map.put("001","zs"); 5 map.put("002","ls"); 6 map.put("003","ws"); 7 8 String name=map.get("003"); 9 System.out.println(name);