8月3日 Java基础中的集合

集合的分类:

 

List集合添加的原理

三种遍历方法、list的声明、添加、删除;set的添加和遍历

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

public class TestMain {
    public static void main (String [] args) {
        //集合的声明
        List list = new ArrayList<>();
        //集合的添加
        list.add(1);
        list.add("张三");
        //删除有两个,参数不同,一个是集合下标值int,一个是obj,如果集合内有int值,请用下标删除
        //list.remove("张三");//Obj
        //删除
        //list.remove(1);//index这个
//        for(int i=0;i<list.size();i++) {
//            System.out.println(list.get(i));
//        }
        //增强for循环遍历
//        for(Object obj:list) {
//            System.out.println(obj);
//        }
        //迭代器遍历
        Iterator it = list.iterator();
        while(it.hasNext()) {
            Object obj = it.next();
            System.out.println(obj);
        }
    }
}

所以得知:Set无序、不允许有重复数据。

发现set的数据进行颠倒,说明是无序、不可重复、随机的。

最后的代码留存:

package com.pyc.test;

import java.util.List;
import java.util.Set;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;

public class TestMain {
    public static void main (String [] args) {
        //集合的声明
        List list = new ArrayList<>();
        //集合的添加
        list.add(1);
        list.add("张三");
        //删除有两个,参数不同,一个是集合下标值int,一个是obj,如果集合内有int值,请用下标删除
        //list.remove("张三");//Obj
        //删除
        //list.remove(1);//index这个
//        for(int i=0;i<list.size();i++) {
//            System.out.println(list.get(i));
//        }
        //增强for循环遍历
//        for(Object obj:list) {
//            System.out.println(obj);
//        }
        //迭代器遍历
//        Iterator it = list.iterator();
//        while(it.hasNext()) {
//            Object obj = it.next();
//            System.out.println(obj);
//        }
        Set set = new HashSet<>();//set无序、不可重复,list有序、可重复。
        set.add("test");
        set.add("hello");
        set.add("test");
        set.add("hell");
        set.add("hel");
        set.add("he");
        set.add(new Dog("张三","12"));
        set.add(new Dog("张三","12"));
        System.out.println(set.size());//输出的是数字
        Iterator it = set.iterator();
//        while (it.hasNext()) {
//            System.out.println(it.next());
//        }
    }
}
class Dog{
    public String name;
    public String age;
    public Dog(String name, String age) {
        this.name=name;
        this.age=age;
    }
}

 

Map的查询方式:

Map:

1.无序 ;

2.key不允许有重复,如有重复,取后面添加的值 ;

3.value可以有重复。

主要代码:

public static void main (String [] args) {
        Map map = new HashMap<>();
        map.put("张三", "120");//将140分放入这里,120放入底下的张三,那么结果会是120
        map.put("李四", "150");
        map.put("王五", "133");
        map.put("张三", "140");//遇到相同的值会取后面的
        map.put("王二麻子", "133");
        //查询 差一个 Map的查询是用K查Value,这里是单个查询
        //System.out.println(map.get("李四"));
        //首先把key值放入Set集合中
        Set set = map.keySet();
        Iterator it = set.iterator();
        while(it.hasNext()) {
            //取出单个Key值
            Object obj = it.next();
            System.out.println(obj);
            Object val = map.get(obj);
            System.out.println(val);
        }
    }

 

Java基础的周作业:

1.已知有一个 Worker 类如下:

public class Worker {

private int age;

private String name;

private double salary;

public Worker (){}

public Worker (String name, int age, double salary){

this.name = name;

this.age = age;

this.salary = salary;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public double getSalary(){

return salary;

}

public void setSalary(double salary){

this.salary = salary;

}

public void work(){

System.out.println(name + “ work”);

}

}

完成下面的要求

1) 创建一个 List,在 List 中增加三个工人,基本信息如下:

姓名 年龄  工资

zhang3 18 3000

li4  25 3500

wang5  22 3200

2) 在 li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资 3300

3) 删除 wang5 的信息

4) 利用 for 循环遍历,打印 List 中所有工人的信息

2.已知某学校的教学课程内容安排如下:

老师  课程

Tom  CoreJava

John  Oracle

Susan  Oracle

Jerry  JDBC

Jim  Unix

Kevin  JSP

Lucy  JSP

完成下列要求:

1) 使用一个 Map,以老师的名字作为键,以老师教授的课程名作为值,表示上述

课程安排。

2) 增加了一位新老师 Allen 教 JDBC

3) Lucy 改为教 CoreJava

4) 遍历 Map,输出所有的老师及老师教授的课程

5) *利用 Map,输出所有教 JSP 的老师。

 

第一题:

package com.phomework;

import java.util.List;

import java.util.Set;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.HashSet;

import java.util.Map;

import java.util.Iterator;

 

public class homework {

public static void main (String [] args) {

List list = new ArrayList<>();

list.add(new work("张三","18","3000"));

list.add(new work("李四","25","3500"));

list.add(new work("王五","22","3200"));

list.add(1,new work("赵六","24","3300"));

list.remove(3);

// Iterator it=list.iterator();

// while(it.hasNext()) {

// Object obj=it.next();

// System.out.println(obj);

// }

for(int i = 0;i<list.size();i++)

        {

            System.out.println(list.get(i));

        }

}

}

class work{

public String name;

public String age;

public String money;

public work(String name, String age,String money) {

this.name=name;

this.age=age;

this.money=money;

}

public String getAge() {

return age;

}

public void setAge(String age) {

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getSalary(){

return money;

}

public void setSalary(String salary){

this.money = money;

}

public void worker(){

System.out.println(name + "work");

}

@Override

public String toString() {

return "Worker [age=" + age + ", name=" + name + ", salary=" + money + "]";

}

}

第二题:

package com.pyc.homework;

import java.util.List;

import java.util.Set;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.HashSet;

import java.util.Map;

import java.util.Iterator;

import java.util.Map.Entry;

public class zuoye2 {

public static void main (String [] args) {

Map map = new HashMap<>();  

map.put("Tom", "CoreJava");

map.put("John", "Oracle");

map.put("Susan", "Oracle");

map.put("Jerry", "JDBC");

map.put("Jim", "Unix");

map.put("Kevin", "JSP");

map.put("Lucy", "JSP");

map.put("Allen", "JSP");  

map.put("Lucy", "CoreJava");

Set set = map.keySet();

Iterator it = set.iterator();

while(it.hasNext()) {

//取出单个Key值

Object obj = it.next();

System.out.println(obj);

Object val = map.get(obj);

System.out.println(val);

}  

//第五题不会做

}

}

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值