【window源码解读】【武侠类源码】【鱼泡源码】list toarray源码

时间:2024-12-26 03:01:44 分类:主力操盘源码设置 来源:牛小妹斗牛源码

1.Java ArrayList的使用
2.list与arraylist 区别

list toarray源码

Java ArrayList的使用

       import java.util.*;

       class Student {  // 定义学生类

        String name;

        Student(String name) {  // 构造方法

        this.name = name;

        }

        // 重写equals方法,保证只要名字相等,则认为是window源码解读同一个人.

        public boolean equals(Object obj) {

        if (name == null || obj == null) {

        return false;

        }

        if (obj instanceof Student) {

        Student sd = (Student) obj;

        return name.equals(sd.name);

        }

        return false;

        }

       }

       public class t2 {

        public static void main(String[] args) {

        Scanner reader = new Scanner(System.in);

        Student[] stu = new Student[4];// 定义

        ArrayList<Student> stus = new ArrayList<Student>();// ArrayList泛型,每个元素是1个学生。

        System.out.println("输入4个学生姓名:");

        // 初始化4个学生,武侠类源码并将他们添加进ArrayList

        for (int i = 0; i < 4; i++) {

        stu[i] = new Student(reader.nextLine());

        stus.add(stu[i]);

        }

        System.out.println("列表中还有" + stus.size() + "个学生:");

        for (int i = 0; i < stus.size(); i++) {  // 遍历输出所有元素中学生的鱼泡源码姓名

        System.out.println("第" + i + "个学生: " + stus.get(i).name);

        }

        // 键盘输入一个学生姓名,判断该学生是否在列表中,如存在,则输出其在列表中的下标,然后将它从列表中移除。

        System.out.println("输入要查找的人的姓名:");

        Student s = new Student(reader.nextLine());

        if (stus.contains(s)) {

        System.out.println("找到" + s.name + ",下标为" + stus.indexOf(s));// 输出下标

        stus.remove(s); // 从列表中移除该学生

        System.out.println("删除" + s.name + "后,还有" + stus.size() + "个学生:");

        for (int i = 0; i < stus.size(); i++) {  // 遍历输出所有元素中学生的姓名

        System.out.println("第" + i + "个学生: " + stus.get(i).name);

        }

        } else

        System.out.println("列表中找不到" + s.name); // 如不存在则输出找不到。

        }

       }

       效果

输入4个学生姓名:

       天涯

       明月

       秋水

       清泉

       列表中还有4个学生:

       第0个学生: 天涯

       第1个学生: 明月

       第2个学生: 秋水

       第3个学生: 清泉

       输入要查找的人的姓名:

       天涯

       找到天涯,下标为0

       删除天涯后,狼辅助源码还有3个学生:

       第0个学生: 明月

       第1个学生: 秋水

       第2个学生: 清泉

list与arraylist 区别

       List和ArrayList的区别在于:

       1、在编程语言中ArrayList类是.Net Framework提供的用于数据存储和检索的专用类。List 类可以简单视之为双向连结串行,以线性列的方式管理物件集合。List类是ArrayList类的泛型等效类。

       2、ArrayList继承了IList接口,所以它可以很方便的进行数据的添加,插入和移除。List的大部分用法都与ArrayList相似,List类也继承了IList接口。

       3、在ArrayList中可以插入不同类型的数据。ArrayList会把所有插入其中的数据都当作为object类型来处理,这其中存在装箱与拆箱的操作,会对系统造成性能上的损耗。而List需要声明其数据的对象类型。声明后插入其他类型数据,IDE就会报错,且不能通过编译。

       4、在使用ArrayList中的数据来处理问题的时候,很可能会报类型不匹配的错误,即ArrayList不是类型安全的。而List已经声明过其数据的对象类型,是类型安全的,避免了前面讲的类型安全问题与装箱拆箱的性能问题。

       5、ListArray就可以被构造。而List不能被构造,但可以为List创建一个引用。

扩展资料:

       ä¸€ã€List泛型

       é€šè¿‡å…è®¸æŒ‡å®šæ³›åž‹ç±»æˆ–方法操作的特定类型,泛型功能将类型安全的任务从程序员转移给了编译器。不需要编写代码来检测数据类型是否正确,因为会在编译时强制使用正确的数据类型。减少了类型强制转换的需要和运行时错误的可能性。泛型提供了类型安全但没有增加多个实现的开销。

       äºŒã€è£…箱与拆箱的概念:

       1、装箱:就是将值类型的数据打包到引用类型的实例中 比如将int类型的值赋给object对象o

       int i=; object o=(object)i;

       2、拆箱:就是从引用数据中提取值类型 比如将object对象o的值赋给int类型的变量i

       object o=; int i=(int)o;

       3、装箱与拆箱的过程是很损耗性能的。

       å‚考资料:拆箱——百度百科