每日java5-11

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());

}

}

}

  1. //去除集合中字符串的重复值(字符串的内容相同)

分析:  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);

}

}

}

  1. // 获取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);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值