51.、//集合的例子
import
java.util.ArrayList;
import
java.util.Collection;
public class RegexDemo {
public static void main(String[] args) {
// 创建集合对象
Collection c = new ArrayList();
// 添加元素
c.add(“hello”); // Object obj = “hello”; 向上转型
c.add(“world”);
c.add(“java”);
// Object[] toArray():把集合转成数组,可以实现集合的遍历
Object[] objs = c.toArray();// 遍历
for (int x = 0; x < objs.length; x++) {
// System.out.println(objs[x] + “—” + objs[x].length());
// 上面的实现不了,原因是Object中没有length()方法
// 我们要想使用字符串的方法,就必须把元素还原成字符串
String s = (String) objs[x]; // 向下转型
System.out.println(s + “—” + s.length());
}
}
}
52.//用集合存储5个学生对象,并把学生对象进行遍历。用迭代器遍历。
public class Student {
private String name;
private int age;
public Student () {}
public Student (String name,int age) {
this.name=name;
this.age=age;
}
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;
}
}
import
java.util.ArrayList;
import
java.util.Collection;
import
java.util.Iterator;
public class IteratorTest {
public static void main(String[] args) {
Collection c=new ArrayList();
Student
s1=new Student
(“林青霞”,27);
Student
s2=new Student
(“林青霞”,28);
Student
s3=new Student
(“林青霞”,29);
Student
s4=new Student
(“林青霞”,20);
Student
s5=new Student
(“林青霞”,21);
c.add(s1);
c.add(s2);
c.add(s3);
c.add(s4);
c.add(s5);
Iterator
it=c.iterator();
while(it.hasNext()) {
Student s=(Student)it.next();
System.out.println(s.getName()+"—"+s.getAge());
}
}
}
53.存储自定义对象并遍历,用普通for循环。(size()和get()结合)
import
java.util.ArrayList;
import
java.util.Iterator;
import
java.util.List;
public
class ListDemo3 {
public static void main(String[] args) {
// 创建集合对象
List list = new ArrayList();
// 创建学生对象
Student s1 = new Student(“林黛玉”, 18);
Student s2 = new Student(“刘姥姥”, 88);
Student s3 = new Student(“王熙凤”, 38);
// 把学生添加到集合中
list.add(s1);
list.add(s2);
list.add(s3);
// 迭代器遍历
Iterator it = list.iterator();
while (it.hasNext()) {
Student s = (Student) it.next();
System.out.println(s.getName() +
“—” + s.getAge());
}
System.out.println("--------");
// 普通for循环
for (int x = 0; x < list.size(); x++) {
Student s = (Student) list.get(x);
System.out.println(s.getName() +
“—” + s.getAge());
}
}
}
- //去除集合中字符串的重复值(字符串的内容相同)
分析: A:创建集合对象
B:添加多个字符串元素(包含内容相同的)
C:创建新集合
D:遍历旧集合,获取得到每一个元素
E:拿这个元素到新集合去找,看有没有
有:不搭理它
没有:就添加到新集合
F:遍历新集合
import
java.util.ArrayList;
import
java.util.Iterator;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList array=new ArrayList();
array.add(“hello”);
array.add(“world”);
array.add(“java”);
array.add(“world”);
array.add(“java”);
array.add(“hello”);
array.add(“world”);
array.add(“java”);
array.add(“world”);
ArrayList newArray=new ArrayList();
Iterator it=array.iterator();
while(it.hasNext()) {
String s=(String)it.next();
if(!newArray.contains(s)) {
newArray.add(s);
}
}
for(int x=0;x<newArray.size();x++) {
String s=(String) newArray.get(x);
System.out.println(s);
}
}
}
方法二:
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList array=new ArrayList();
array.add(“hello”);
array.add(“world”);
array.add(“java”);
array.add(“world”);
array.add(“java”);
array.add(“hello”);
array.add(“world”);
array.add(“java”);
array.add(“world”);
for(int x=0;x<array.size()-1;x++) {
for(int y=x+1;y<array.size();y++) {
if(array.get(x).equals(array.get(y))) {
array.remove(y);
y–;
}
}
}
Iterator it=array.iterator();
while(it.hasNext()) {
String s=(String) it.next();
System.out.println(s);
}
}
}
- // 获取10个1-20之间的随机数,要求不能重复
数组的长度是固定的,长度不好确定。所以我们使用集合实现。
分析:A:创建产生随机数的对象 B:创建一个存储随机数的集合。
C:定义一个统计变量。从0开始。
D:判断统计遍历是否小于10
是:先产生一个随机数,判断该随机数在集合中是否存在。
如果不存在:就添加,统计变量++。 如果存在:就不搭理它。
否:不搭理它
E:遍历集合
import java.util.ArrayList;
import
java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
Random r=new Random();
ArrayList
array=new ArrayList();
int count=0;
while(count<10) {
int number=r.nextInt(20)+1;
if(!array.contains(number)) {
array.add(number);
count++;
}
}
for(Integer i:array) {
System.out.println(i);
}
}
}