《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);
}
}
}