《Java程序设计》实验8 -ArrayList的使用、遍历元素、hasNext()、next()、iterator()方法的使用

《Java程序设计》实验8

1、使用ArrayList集合,对其添加10个不同的元素,并使用Iterator遍历该集合。 步骤:
(1)使用add()方法将元素添加到ArrayList集合中;
(2)调用集合的iterator()方法获得Iterator对象,并调用Iterator的hasNext()和next()方法,迭代出集合中的所有元素。

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

public class ArrayListText {
    
    
	static int sum = 0;
	public static void main(String[] args) {
    
    
		ArrayList list = new ArrayList();
		for(int i = 1;i <= 10;i++){
    
    
			list.add(i);
			sum++;
		}
		Iterator iterator = list.iterator();
		while(iterator.hasNext()) {
    
    
			Object obj = iterator.next();
			System.out.println(obj);
		}
		System.out.println("集合的长度:"+list.size());
	}
	private int size() {
    
    
		return sum;
	}
	private void add(String string) {
    
    
		
	}
}

2、在HashSet集合中添加三个Person对象,把姓名相同的人当做同一个人,禁止重复添加。 步骤:
(1)Person类中定义name和age属性,重写hasCode()方法和equals()方法;
(2)针对Person类的name属性进行比较,如果name相同,hashCode()方法的返回值相同,equals方法返回true。

package Practice;
import java.util.HashSet;

class Person {
    
    
	private String name;
	private String age;
	public Person(String name,String age) {
    
    
		this.name = name;
		this.age = age;
	}

	@Override
	public String toString() {
    
    
		return "Person [name=" + name + ", age=" + age + "]";
	}

	@Override
	public int hashCode() {
    
    
		final int prime = 31;
		int result = 1;
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
    
    
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Person other = (Person) obj;
		if (name == null) {
    
    
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		return true;
	}
}
public class Text1 {
    
    
	public static void main(String[] args) {
    
    
		HashSet<Person> hs = new HashSet<Person>();
		Person p1 = new Person("1","Jack");
		Person p2 = new Person("2","Rose");
		Person p3 = new Person("2","Rose");
		hs.add(p1);
		hs.add(p2);
		hs.add(p3);
		System.out.println(hs);
	}
}

3、选择合适的Map集合保存5位学员的学号和姓名,然后按照学号的自然顺序的倒序将这些键值对一一打印出来。 步骤:
(1)创建TreeMap集合;
(2)使用put()方法将学号(“1”,“2”,“3”,“4”,“5”)和姓名(“Lucy”,“John”,“Smith”,“Aimee”,“Victor”)存储到Map中,存的时候可以打乱顺序观察排序后的效果;
(3)使用map.keySet()获取键的Set集合; (4)使用Set集合的iterator()方法获得Iterator对象用于迭代键;
(5)使用Map集合的get()方法获取键所对应的值。

package homework.test;

import java.util.*;
import java.util.Map;
import java.util.TreeMap;
public class MapTest {
    
    
	public static void main(String[] args) {
    
    
		Map map = new TreeMap();
		map.put("2", "John");
		map.put("1", "Lucy");
		map.put("3", "Smith");
		map.put("4", "Aimee");
		map.put("5", "Victor");
		System.out.println(map);
		Set keySet = map.keySet();
		Iterator it = keySet.iterator();
		while (it.hasNext()) {
    
    
			Object key = it.next();
			Object value = map.get(key);
			System.out.println(key+":"+value);
		}
	}
}

猜你喜欢

转载自blog.csdn.net/mercury8124/article/details/129252146