java之接口

Posted 哈喽杏红

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java之接口相关的知识,希望对你有一定的参考价值。

接口基础知识

package ch09;

public class jichu {
    //接口:一组规范,一个标准
        //COLLECTION接口家族:list和set
            //collection 接口存储一组不唯一,无序de对象
                //LIst接口存储一组不唯一 有序(插入顺序)的对象
                    //ArrayList:实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高
                    //LinkedList:采用链表存储方式。插入、删除元素时效率比较高(不常用)
                //Set接口存储一组唯一,无序的对象
                    //HashSet
                    //TreeSet
        //MAP接口家族
            //Map接口存储一组键值对象,提供key到value的映射
                //HashMap
                //TreeMap
}

 

 

===========================================================================================

详细基础知识重点

package ch09;

import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;

public class Test {
    public static void main(String[] args) {
        // 创建一个集合,长度可变的数组(默认长度为10)
        List<Object> list = new ArrayList<Object>();
        // 使用集合对数据进行管理操作
        // 1:存数据
        list.add("a");
        list.add("b");
        // 2:取
        System.out.println(list.get(0));
        // 3:获取集合的长度
        System.out.println(list.size());
        // 4:删除
        list.remove(0);
        /****************************** 练习 ***********************************/
        /*
         * 定义一个学生类,包含学号,姓名,年龄 定义一个list集合,用于保存学员信息 数据不少于5个
         */
        list.add(new Student("jredu", "zhang", 12));
        list.add(new Student("jrwedu", "zang", 123));

        // 遍历数组
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i) instanceof Student) {
                Student s = (Student) list.get(i);
                System.out.println(s.getName());
            }
        }

        // 三种遍历方式
        System.out.println("*******************泛型**********************");
        /*
         * 泛型集合:指定集合存储的数据类型 和数组类似 
         */
        List<Student> students = new ArrayList<Student>();
        students.add(new Student("jredu", "zhang", 12));
        students.add(new Student("jredu2", "zhang2", 122));
        // 遍历1
        for (int i = 0; i < students.size(); i++) {
            Student s = (Student) students.get(i);
            System.out.println(s.getNo());
        }
        // 遍历2
        System.out.println("***************foreach*****************");
        for (Student s : students) {
            System.out.println(s.getNo());
        }
        // 遍历3:迭代器
        System.out.println("***************迭代器*****************");
        Iterator<Student> it = students.iterator();
        while (it.hasNext()) {
            Student s = it.next();
            System.out.println(s.getNo());
        }

        /**********************************/
        System.out.println("*********LinkedList**************");
        LinkedList<Student> lnk = new LinkedList<Student>();
        // 1、添加一个集合的数据进来
        lnk.addAll(students);
        for (Student s : lnk) {
            System.out.println(s.getName());
        }
        System.out.println("******************************");
        // 2、在头部添加一个学生
        lnk.addFirst(new Student("jredu003", "wang5", 24));
        for (Student s : lnk) {
            System.out.println(s.getName());
        }

    }
}

 

 

=====================================================================================

例题

package ch09;

public class Student {
    private String no;
    private String name;
    private int age;

    public Student() {
        super();
    }

    public Student(String no, String name, int age) {
        super();
        this.no = no;
        this.name = name;
        this.age = age;
    }

    public String getNo() {
        return no;
    }

    public void setNo(String no) {
        this.no = no;
    }

    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;
    }

}

 

package ch09;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class StudentTest {
    public static void main(String[] args) {

        List<Student> list = new ArrayList<Student>();
        Student[] s = new Student[5];
        Scanner input = new Scanner(System.in);
        for (int i = 0; i < 5; i++) {
            System.out.println("请输入学号");
            String num = input.next();
            System.out.println("请输入名字");
            String name = input.next();
            System.out.println("请输入年龄");
            int age = input.nextInt();
            s[i] = new Student(num, name, age);
            list.add(s[i]);
        }
        for (int i = 0; i < 5; i++) {
            Student a = (Student) list.get(i);
            System.out.println(a.getNo() + a.getName() + a.getAge());

        }
    }
}

 

以上是关于java之接口的主要内容,如果未能解决你的问题,请参考以下文章

JAVA之AOP

Java语言基础之方法的设计

Java Lambda

从父片段到选项卡片段的接口侦听器不起作用

java中封装,继承,多态,接口学习总结

如何使用接口在片段和活动之间进行通信?