【148天】尚学堂高淇Java300集视频精华笔记(110-113)

第110集:容器SetHashSet基本用法源码分析

  1. HashSet是最常用的set接口的实现类,它的底层实现是HashMap.

  2. HashSet的特点是:无序,不可重复,添加重复元素会覆盖。【所以HashSet类没有get(int index)方法】

  3. 常用方法:

    1. add

    2. remove

    3. size

    4. contains

package com.collection;

import java.util.HashSet;
import java.util.Set;

public class TestSet {
    public static void main(String[] args){
        Set a = new HashSet();
        a.add("aaa");
        a.add("bbb");
        a.add(new String("aaa"));//相同内容的元素是加不进set的
        System.out.println(a.size());
        a.remove("bbb");
        System.out.println(a.size());
        System.out.println(a.contains("aaa"));
    }
}

第111集:容器自定义实现HashSet

  1. HashSet能够实现不重复,是因为利用了map的key不可重复的特性。

package com.collection;

import java.util.HashMap;

/**
 * @author wangtao
 * 自定义自己的HashSet
 */
public class SxtHashSet {
    HashMap map;
    final Object PRESENT = new Object(); 
    
    public SxtHashSet(){
        map = new HashMap();
    }
    
    public void add(Object o){
        map.put(o, PRESENT);
    }
    
    public int size(){
        return map.size();
    }
    
    public static void main(String[] args){
        SxtHashSet a = new SxtHashSet();
        a.add("aaa");
        a.add("bbb");
        a.add("aaa");
        System.out.println(a.size());    
    }
    
}

第112集:容器数据存储综合练习javabean的介绍

  1. Javabean是指里面只有属性、set方法与get方法的类。

  2. 代码所示方法是一种用对象封装数据的方法

package test112;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Employee {
    private int Id;
    private String name;
    private int salary;
    private String company;
    private Date date;
    
    public Employee(int Id,String name,int salary,String company,String date){
        this.Id = Id;
        this.name = name;
        this.salary = salary;
        this.company = company;
        
        DateFormat format = new SimpleDateFormat("yyyy-MM");
        try {
            this.date = format.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        
    }
    
    
    public void setId(int Id){
        this.Id = Id;
    }
    
    public int getId(){
        return Id;
    }
    
    public void setName(String name){
        this.name = name;
    }

    public String getName(){
        return name;
    }
    
    public void setSalary(int Salary){
        this.salary = Salary;
    }
    
    public int getSalary(){
        return salary;
    }
    
    public void setCompany(){
        this.company = company;
    }
    
    public String getCompany(){
        return company;
    }
    
    public void setDate(Date date){
        this.date = date;
    }
    
    public Date getDate(){
        return date;
    }
    
    public static void main(String[] args){
        Employee a = new Employee(0301,"高琪",3000,"项目部","2007-10");
        Employee b = new Employee(0302,"马士兵",3200,"项目部","2005-10");
        Employee c = new Employee(0303,"裴新",3300,"项目部","2006-10");
        
        List<Employee> list = new ArrayList<Employee>();
        list.add(a);
        list.add(b);
        list.add(c);
        
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i).name);
        }

    }
}

第113集:容器数据存储综合练习map保存表记录

  1. 用Map接口保存数据也是一种常用的方法。【对比112集来看本集】

package test112_113;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Employee_1 {
    public static void main(String[] args){
        Map map = new HashMap();
        map.put("id", "0301");
        map.put("name", "高琪");
        map.put("salary", "3050");
        map.put("company", "项目部");
        map.put("Date", "2007-10");
        
        Map map2 = new HashMap();
        map2.put("id", "0302");
        map2.put("name", "马士兵");
        map2.put("salary", "3050");
        map2.put("company", "项目部");
        map2.put("Date", "2007-10");
        
        Map map3 = new HashMap();
        map3.put("id", "0303");
        map3.put("name", "裴新");
        map3.put("salary", "3050");
        map3.put("company", "项目部");
        map3.put("Date", "2007-10");
        
        List<Map> list = new ArrayList<Map>();
        
        list.add(map);
        list.add(map2);
        list.add(map3);
        
        System.out.println(list.get(1).get("id"));
    }
    
    
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值