集合:List,Set都是属于接口,被子类实现,所有new的时候使用实现了该父类的之类即可.(类是自定义数据类型,父类数据类型可以存放子类的对象).
1.List集合,是一个有序集合,集合相当于一个特殊的可变长度数组,可以用来存放对象.元素可以重复.
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { test(); } public static void test() { List<String> var=new ArrayList<String>(); //现在这个是String类型的集合, var.add("var随便定义测试集合的变量名"); //add()是list集合的一个方法,增加集合的元素 var.add("List<括号里面是集合的类型,>"); //类也是一种特殊的自定义数据类型, var.add("所有<>里面可以放类对象"); //所以集合也可以用来存放对象 var.add("new的是ArrayList类,"); //因为List是接口,ArrayList是它的子类,实现了父类List接口 var.add("根据数据类型转换规则,可以把子类对象赋值给父类数据类型"); for(int i=0;i<var.size();i++) { System.out.println(var.get(i)); //遍历集合,list集合是小标从0开始的有序集合 } }
}
2.Set集合,是一个无序集合.遍历需要使用迭代器.元素不能重复.
import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class Main { public static void main(String[] args) { Set<String> var =new HashSet<String>(); //创建一个String类型的set集合,Set是接口,HashSet子类实现接口 var.add("努力成为你想成为的人"); //往集合里面添加元素 var.add("努力"); var.add("坚持"); Iterator<String> iterator= var.iterator(); //set无序集合,生成一个迭代器集合 while(iterator.hasNext()) { //hasNext游标(下标)每次往后移,后面有值时返回ture String a=iterator.next(); //根据游标位置,返回当前位置的值, System.out.println(a); } } }
3.map集合,键-值,形式存储数据,元素不能重复(不能有相同键).
import java.util.*; public class Main { public static void main(String[] args) { test(); } public static void test() { Map<Integer, String> var1 = new HashMap<>(); //map键值对集合,键设为有规律的Integer类型, var1.put(1, "小白"); //往map集合添加元素 var1.put(2, "15"); var1.put(3, "男"); for(int i=1;i<=var1.size();i++) { String a=var1.get(i); //根据键取出值 System.out.println(a); } //--------------------------------------------------------------------------------------------------------- Map<String, String> var = new HashMap<>(); //键设为没有规律的String类型, var.put("姓名", "小黑"); var.put("年龄", "15"); var.put("性别", "男"); for(String key :var.keySet()) { //把keyset()返回的集合当作数组,遍历出所有key System.out.println(key+":"+var.get(key)); //根据键取出值, } }
}