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);
}
//第五题不会做
}
}