java基础入门Day18+Day19

目录

1、java集合框架包括的内容:

2、ArrayList集合:

3、LinkedList集合对象:

4、HashMap:

6、迭代器:

7 、泛型:

8、foreach增强循环:

5、集合框架总结:


1、java集合框架包括的内容:

java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中。

2、ArrayList集合:

提示:求大小时:String是用length() 集合用size

练习1:

import java.util.ArrayList;
import java.util.List;

public class ArrayListDemo1 {
    public static void main(String[] args) {
        List list=new ArrayList();
        //添加数据
        list.add("aa");
        list.add("bb");
        list.add("as");
        System.out.println("删除前总共有"+list.size()+"条数据");
        //删除数据
        list.remove(1);
        //删除后 再读取位置1上的数据
        System.out.println(list.get(1));
        System.out.println("删除后的总数据条数共有"+list.size()+"条数据");
        //查询数据
        list.get(1);
        //遍历循环输出所有数据
        for (int i=0;i<list.size();i++){
          /*  String str=(String)list.get(i);//list.get(i)是Object类型的需要强制转换
            System.out.println(str);*/
            System.out.println(list.get(i));
        }
    }
}

练习2:

(1)Dog类:

注意:Java List集合框架之运行结果是class@1540e19d时Java List集合框架之运行结果是class@1540e19d时_保持可爱forever的博客-CSDN博客_为什么输出集合输出的是menu@1540e19d

public class Dog {
    private String name;
    private int age;
    public Dog() {
    }
//注意生成带参数的构造方法时 不要忘记写出不带参数的构造函数
    public Dog(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Dog{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

(2)主函数

import java.util.ArrayList;
import java.util.List;

public class ArrayListDemo1 {
    public static void main(String[] args) {
        List list=new ArrayList();
        //添加数据
        list.add("aa");
        list.add("bb");
        list.add("as");
        System.out.println("删除前总共有"+list.size()+"条数据");
        //删除数据
        list.remove(1);
        //删除后 再读取位置1上的数据
        System.out.println(list.get(1));
        System.out.println("删除后的总数据条数共有"+list.size()+"条数据");
        //查询数据
        list.get(1);
        //遍历循环输出所有数据
        for (int i=0;i<list.size();i++){
          /*  String str=(String)list.get(i);//list.get(i)是Object类型的需要强制转换
            System.out.println(str);*/
            System.out.println(list.get(i));
        }
    }
}

3、LinkedList集合对象:

 练习:

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class LinkedListDemo {
    public static void main(String[] args) {
        //1、创建狗狗对象
        Dog dog1 = new Dog("狗1", 12);
        Dog dog2 = new Dog("狗2", 12);
        Dog dog3 = new Dog("狗3", 12);
        //2、创建ArrayList集合对象 默认初容量是10
        LinkedList list=new LinkedList();
        //3、把Dog添加到ArrayList集合中
        list.add(dog1);
        list.add(dog2);
        list.add(dog3);
       //添加到第一位
        list.addFirst(dog3);
        //添加到最后一位
        list.addLast(dog1);
        //遍历
        for (int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        System.out.println("输出第一位:"+list.getFirst());
        System.out.println("输出最后一位:"+list.getLast());
        //删除第一位
        list.removeFirst();
        //删除最后一位
        list.removeLast();
        //遍历
        for (int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
    }
}

4、HashMap:

提示:key的值是唯一的 value不唯一

练习:

import java.util.HashMap;
import java.util.Map;

public class HashMapDemo {
    public static void main(String[] args) {
        //1、创建HashMap集合
        Map hashMap=new HashMap();
        //2、存值 通过key value存值 key键 value值
        hashMap.put(11,"中国");
        hashMap.put(12,"美国");
        //3、查询总共有几条数据
        System.out.println("数据条数:"+hashMap.size());
        //4、获取Map的值
        String cn=(String)hashMap.get(11);
        System.out.println(cn);

    }
}

6、迭代器:

1、使用迭代器的步骤:

(1)获取所有的key值

(2)将key值 存到Iterator中  set存储一组不唯一的值 返回类型是set

(3)遍历循环 通过hasNext()判断是否还有值进行循环

例如:

狗狗类:

public class Dog {
    private String name;
    private int sex;

    public Dog() {
    }
    public Dog(String name, int sex) {
        this.name = name;
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "Dog{" +
                "name='" + name + '\'' +
                ", sex=" + sex +
                '}';
    }
}

主函数:

import day20.iterator.Dog;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class IteratorDemo {
    public static void main(String[] args) {
        //1、创建企鹅对象
        Dog d1=new Dog("狗1",1);
        Dog d2=new Dog("狗2",2);
        Dog d3=new Dog("狗3",2);
        Dog d4=new Dog("狗4",1);
        //2、创建HapMap对象
        Map maps=new HashMap();
        //3、存值
        maps.put("d1",d1);
        maps.put("d2",d2);
        maps.put("d3",d3);
        maps.put("d4",d4);
       /* maps.put("dog5",1);*/
        //4、查询总共有多少条数据
        System.out.println("总共有"+maps.size()+"条数据");
        //5、获取map的值
        Dog dog=(Dog) maps.get("d1");//通过键值获取
        System.out.println(dog);
        /**
         * 迭代器的使用
         */
        //1、获取所有的key值 存的是对象
        Set keys=maps.keySet();//返回的是set 存储的是一组不唯一的值
        System.out.println(keys);
        //2、将key值 存到Iterator中
        Iterator it=keys.iterator();
        //3、遍历循环
        while (it.hasNext()){//每次循环判断是否有值 如果有值返回true
            String key=(String)it.next();//it.next()就是获取set中存取的对象
           /* System.out.println(key);*/
           Dog object=(Dog) maps.get(key);
            System.out.println(object);
        }
    }
}

7 、泛型:

泛型是解决集合中数据类型不一致、循环过程中可能会报错的问题。

1、List中使用泛型  List<数据类型> list=new ArrayList();

2、HashMap中使用泛型  Map<key的数据类型,value数据类型> maps=new HashMap()

8、foreach增强循环:

1、List中使用增强循环

(1)使用泛型:

 

(2)没使用泛型:

2、 HashMap中使用增强循环

(1)使用泛型时:

 

(2)不适用泛型时:

5、集合框架总结:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值