集合的一些练习题1(Collection+Map)

题目一:定义List集合,存入多个字符串
   删除集合中包含0-9数字的字符串(只要字符串中包含0-9中的任意一个数字就需要删除此整个字符串)

package offer.collection;

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

/*
 1. 定义List集合,存入多个字符串
   删除集合中包含0-9数字的字符串(只要字符串中包含0-9中的任意一个数字就需要删除此整个字符串)
 */
public class delete0_9 {

	public static void main(String[] args) {
		List<String> list=new ArrayList<String>();
		list.add("haha");
		list.add("haha1");
		list.add("haha2");
		list.add("haha3");
		list.add("haha4");
		list.add("haha7");
		list.add("haha8");
		ArrayList<String> list2=delete(list);
		ArrayList<String> list3=delete1(list);
		for (String string : list3) {
			System.out.println(string);
		}

	}
	//方法二 利用字符数组进行
    private static ArrayList<String> delete1(List<String> list) {
    	//遍历集合中的元素
    	for (int i = 0; i < list.size(); i++) {
    	//每个元素转换成字符数组
    	char[] ch = list.get(i).toCharArray();
    	//遍历字符数组
    	for (int j = 0; j < ch.length; j++) {
    	//判断是否包含
    	if (ch[j] >= '0' && ch[j] <= '9') {
    	//进行删除
    	list.remove(i);
    	//改变集合的索引
    	i--; 
    	break;//结束本次循环
    	}
    	}
    	}
		return (ArrayList<String>) list;
	}
	//方法一 利用迭代器遍历集合元素并输出
	private static ArrayList<String> delete(List<String> list) {
        Iterator<String> iterator=list.iterator();
        while (iterator.hasNext()) {
			String string = (String) iterator.next();
			for (Integer i = 0; i < 10; i++) {//这里必须是Integer
				String s=i.toString();
				if (string.contains(s)) {
					iterator.remove();
					break;
				}
			}
		}
		return (ArrayList<String>) list;
	}

}

题目二:

1、请使用LinkedList来模拟一个队列(先进先出的特性)
1.1 拥有放入对象的方法void put(Object o)
1.2 取出对象的方法Object get()
1.3 判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确。

package offer.collection;
import java.util.LinkedList;
 
/*
1、请使用LinkedList来模拟一个队列(先进先出的特性): [必做题]
1.1 拥有放入对象的方法void put(Object o)
1.2 取出对象的方法Object get()
1.3 判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确。
 */
class MyQueue{
    //存储队列中数据
    LinkedList<Object> data=new LinkedList<>();
    public boolean isEmpty(){
        return data.size()==0?true:false;
    }
    public void put(Object o){
       data.add(o);
    }
    public Object get(){
        //从队列中获取元素,获取最先放入元素,获取后从队列中删除该元素
        Object obj=data.getFirst();
        //获取后从队列中删除该元素
        data.removeFirst();
        return obj;
    }
}
public class Demo3 {
    public static void main(String[] args) {
        MyQueue que=new MyQueue();
        que.put("a");
        que.put("b");
        que.put("c");
 
        while(!que.isEmpty()){
            //获取第一个元素
            Object k=que.get();
            System.out.println(k);
        }
 
    }
}

题目三:

 1、定义员工类型:Employee,有属性姓名,薪资
2、创建集合对象,并添加多个Employee对象到集合中
   自己测试其他Collection的方法
3、用三种方式遍历集合

package offer.collection;

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

/*
 * 1、定义员工类型:Employee,有属性姓名,薪资
2、创建集合对象,并添加多个Employee对象到集合中
   自己测试其他Collection的方法
3、用三种方式遍历集合

 */
public class HashSet_Employee {

	public static void main(String[] args) {
		Set<Object> set=new HashSet<Object>();
		set.add(new Employee("小明", 23000));
		set.add(new Employee("中明", 24000));
		set.add(new Employee("大明", 25000));
		set.add(new Employee("小明", 23000));
		set.add(new Employee("中明", 24000));
		set.add(new Employee("大明", 25000));
		System.out.println(set);
		
		System.out.println("***************************************");
		for (Object object : set) {
			System.out.println(object);
		}
		System.out.println("****************************************");
		Iterator<Object> iterator =set.iterator();
		while (iterator.hasNext()) {
			Object object = (Object) iterator.next();
			System.out.println(object);
		}

	}

}
class Employee{
	String name;
	int salary;
	public Employee(String name, int salary) {
		super();
		this.name = name;
		this.salary = salary;
	}
	public Employee() {
		super();
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getSalary() {
		return salary;
	}
	public void setSalary(int salary) {
		this.salary = salary;
	}
	@Override
	public String toString() {
		return "Employee [name=" + name + ", salary=" + salary + "]";
	}
	@Override
	public int hashCode() {
		return name.hashCode()+salary*1000;
	}
	@Override
	public boolean equals(Object obj) {
		if (!(obj instanceof Employee)) {
			throw new ClassCastException("类型不合法");
		}
		Employee employee=(Employee)obj;
		return this.name.equals(employee.name)&&this.salary==employee.salary;
	}
	
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值