ArrayList
之前我们使用ArrayList没有使用泛型,是错误的我们要改正过来。
package fiftyFourth;
import java.util.ArrayList;
import java.util.List;
public class ArrayListTest {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
for(int i = 0; i < list.size(); i++) {
String value = list.get(i);
System.out.println(value);
}
}
}
结果是:
a
b
c
d
Iterator
package fiftyFourth;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ArrayListTest {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
for(int i = 0; i < list.size(); i++) {
String value = list.get(i);
System.out.println(value);
}
for(Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
String value = iterator.next();
System.out.println(value);
}
}
}
结果是:
a
b
c
d
a
b
c
d
Set
package fiftyFourth;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class SetTest {
public static void main(String[] args) {
Set<String> set = new HashSet<String>();
set.add("aa");
set.add("bb");
set.add("cc");
for(Iterator<String> iterator = set.iterator(); iterator.hasNext();) {
String value = iterator.next();
System.out.println(value);
}
}
}
结果是:
aa
bb
cc
package fiftyFourth;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class SetTest {
public static void main(String[] args) {
Set<People> set2 = new HashSet<People>();
set2.add(new People("zhangsan", 20, "beijing"));
set2.add(new People("lisi", 30, "shanghai"));
set2.add(new People("wangwu", 40, "tianjing"));
for(Iterator<People> iterator = set2.iterator(); iterator.hasNext();) {
People people = iterator.next();
String name = people.getName();
int age = people.getAge();
String address = people.getAddress();
System.out.println(name + "," + age + "," + address);
}
}
}
class People{
private String name;
private int age;
private String address;
public People (String name,int age, String address) {
this.name = name;
this.age = age;
this.address = address;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((address == null) ? 0 : address.hashCode());
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
People other = (People) obj;
if (address == null) {
if (other.address != null)
return false;
} else if (!address.equals(other.address))
return false;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
}
结果是:
wangwu,40,tianjing
lisi,30,shanghai
zhangsan,20,beijing
Map
package fiftyFourth;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.swing.RowFilter.Entry;
public class MapTest {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("a", "aa");
map.put("b", "bb");
map.put("c", "cc");
map.put("d", "dd");
Set<String> set = map.keySet();
for(Iterator<String> iterator = set.iterator(); iterator.hasNext();) {
String key = iterator.next();
String value = map.get(key);
System.out.println(key + ":" + value);
}
System.out.println("-------------------");
Set<Map.Entry<String, String>> set2 = map.entrySet();
//map.entrySet()返回的是Map.Entry类型的变量,同时Map.Entry也要规定泛型。
for(Iterator<Map.Entry<String, String>> iterator = set2.iterator(); iterator.hasNext();) {
Map.Entry<String, String> entry = iterator.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
}
}
}
结果是:
a:aa
b:bb
c:cc
d:dd
a:aa
b:bb
c:cc
d:dd