java集合里怎么放进20个学生姓名和年龄数据,然后再要求拿出来大于25岁的学生
Java语言的特性:简单性: * Java语言的语法特性类似于C++(有没有C++基础没关系,各有各得好处); * Java语言摒弃了C++中容易引发错误的地方,例如指针和内存管理等; * Java 提供了非常丰富的类库供我们使用(丰富不代表包罗万象,很多时候都需要自己写新的类库,我觉得Java更像是给我们提供了丰富的沙子和水泥,想要房子?好啊,你设计吧,设计完了自己盖。如果和C#比较一下,C#就像是地产商,想要房子?我这里有两居室、三居室和花园洋房,马上就能交钥匙,要哪个?)。安全性: * 不会引起致命的错误; * 到目前为止,没有任何一种Java病毒(记得参加SUN公司的JavaOne大会,主持人跑出来非常兴奋的告诉大家:“到目前为止,还没有出现Java病毒。”); * 基于网络的安全管理机制;可移植性: * Java是一种跨平台的开发语言(就像是金鱼要生活在鱼缸中,鱼缸却能放在不同的家中,金鱼跨平台了吗?没有,跨平台的是鱼缸。相同的道理,Java运行于虚拟机JVM上,JVM有Windows版、Linux版、Unix版等,所以Java就跨平台了)。面向对象性: * Java是一种纯面向对象OOP的编程语言(近年来OOP如日方中,其中Java起到了很大的推动作用,但Java不是第一个,也不是最后一个OOP语言)。有这么一句经典的,最令初学者头痛的概念:“万物皆为对象”,我在初学的时候就被这句话(忽悠)了一个月。健壮性: * 没有指针使Java 减少了内存出错的可能; * 实现了真数组,避免数据覆盖; * 异常管理机制。多线程性: * Java为我们提供了强大的多线程机制。体系结构中立: * Java是一种不带平台特点的语言(将Java编译成一种.class文件,可以在任何安装有JVM的机器上运行);解释执行与高性能: * Java 解释器能直接运行目标代码指令(评价:够用、绝对够用)。分布式:Java 有强大的基于网络的类库供我们使用(有很多著名的支持分布式运算的软件都是使用Java开发)。动态性: * 准确的讲Java不能称为动态语言(动态语言是指程序在运行时可以改变其结构),然而Java的反射机制赋予了它对类动态加载调用的能力,所以很多朋友都称Java为准动态语言。
Java是一门面向对象编程语言。
不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有:
简单性
面向对象
分布式
健壮性
安全性
平台独立
可移植性
多线程
动态性
Java可以编写:
桌面应用程序
Web应用程序
分布式系统
嵌入式系统应用程序
import java.util.ArrayList;
public class Day15_A {
public static void main(String[] args) {
ArrayList<Student> list=new ArrayList<Student>();//定义一个容器存放学生对象!
for(int i=0;i<20;i++) {//随机创建20个学生对象,年龄随机
list.add(new Student("学生"+(char)(i+65),(int)(Math.random()*9+20)));
}
sop(list);//查看已经存入进去的所有学生对象!
for(int i=0;i<list.size();) {//清除大于25的!
if(list.get(i).getAge()>=25) {
list.remove(i);
}else {
i++;
}
}
System.out.println("----------剩余学生:-------------");
sop(list);//查看清除后的集合!
}
private static void sop(ArrayList<Student> list) {
for(Student stu:list) {
System.out.println(stu);
}
}
}
class Student{//测试类!
private String name;
private int age;
public Student(String name, int age) {
super();
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;
}
@Override
public String toString() {
return name+";年龄:"+age;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
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 (!(obj instanceof Student)) {
return false;
}
Student other = (Student) obj;
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;
}
}