集合类--容器

一.集合类:专门用来存储java类的对象,数组长度可变

二.容器关系图

    

三.Coolection接口是构造集合框架的基础,声明了所有集合类的核心方法

     

四.实现list接口的类

    4.1.1 ArrayList(数组列表),可以把ArrayList看做一个长度可变的数组

   4.1.2 add方法-->添加元素

         get方法-->获取元素

扫描二维码关注公众号,回复: 4263851 查看本文章

         size()-->元素个数

  4.1.3 ArrayList集合底层是用数组来保存元素的,增加或删除元素,会导致创建新的数组,效率低,不适合做大量操作

 1 import java.util.ArrayList;
 2 
 3 public class Test14 
 4 {
 5   public static void main(String[] args) 
 6   {
 7       //定义一个数组列表
 8       ArrayList array=new ArrayList();
 9       //使用add方法添加三个字符串值进去
10       array.add("不要为了合群而合群");
11       array.add("那纯碎是浪费你的青春");
12       array.add("努力最大的意义我终于明白了");
13       //使用get方法获取数组列表中的元素
14       String s=(String) array.get(0);
15       String s1=(String) array.get(1);
16       String s2=(String) array.get(2);
17       
18       System.out.println(s);
19       System.out.println(s1);
20       System.out.println(s2);
21       System.out.println("********************");
22       
23       for(int i=0;i<array.size();i++)
24       {
25           System.out.println(array.get(i));
26       }
27        System.out.println("**********************");
28        
29       System.out.println(array.get(0));
30       System.out.println(array.get(1));
31       System.out.println(array.get(2));
32       System.out.println("*********************");
33       
34       //添加几个数字进去
35       array.add(540);
36       array.add(8);
37       System.out.println(array.indexOf(540));//元素540的下标位置
38   }
39 }

 4.2.1 LInkedLIst(链表)集合

引用的方式来链接所有元素,插入新元素-->修改元素之间的这种引用关系(就是对象地址)

五.实现set接口的类

  5.1 hashCode类:根据对象哈希值来确定元素在集合中的位置

   5.2 hashCode无序不可重复

   5.3 添加对象时,先调用对象hashCode方法确定存储位置,再调用equals方法确保没有该位置重复元素(简单的理解就是不能添加相同引用对象,因为地址相同)

 1 import java.util.HashSet;
 2 
 3 public class Test15
 4 {
 5    public static void main(String[] args)
 6    {
 7       HashSet set=new HashSet();//创建HashSet对象
 8       set.add(new Person("张三"));//传入引用对象元素
 9       set.add(new Person("李四"));
10       set.add(new Person("张三"));//元素值虽然相同,但比较的是地址
11       
12       System.out.println(set);//调用toString方法,set是无序的,不可重复
13       
14       System.out.println("*************************");
15       
16       set.clear();//清空元素
17       
18       Person p=new Person("张三");
19       System.out.println(set.add(p));//若成功插入显示true
20       System.out.println(set);
21     //set添加新的元素时,会检查set中的原有元素是否和插入新元素equals
22      //若有则不能添加,返回false
23       System.out.println(set.add(p));
24       
25       System.out.println("**************");
26       set.clear();
27       String s1="小冰晶";
28       String s2="小冰晶";
29       System.out.println("hash code:"+s1.equals(s2));//证明了set接口是不重复
30       System.out.println(set.add(s1));
31       System.out.println(set);
32       System.out.println(set.add(s2));//s2和s1地址相等
33    }
34 }
35 
36 class Person
37 {
38     String name;//姓名属性
39     //构造方法初始化值
40     public Person(String name)
41     {
42         this.name=name;
43     }
44     //重写toString方法
45     public String toString()
46     {
47         return name;
48     }
49 }

小哥哥我先回宿舍,后续待补充

猜你喜欢

转载自www.cnblogs.com/zjm1999/p/10029277.html