Java集合框架--泛型方法 & 泛型集合 & 泛型优点

Posted Z && Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合框架--泛型方法 & 泛型集合 & 泛型优点相关的知识,希望对你有一定的参考价值。

1. 泛型方法


MyGenericMethod.java

package generic;


public class MyGenericMethod {
    /**
     * MethodName: show
     * Description: 泛型方法, 用于展示任意类型的数据
     *
     * @return void
     * @date 2021/8/9 20:34
     * @params: [t]
     * @author Tianjiao
     */
    public <T> void show(T t) {
        System.out.println("泛型方法" + t);
    }
}

测试:

    public static void main(String[] args) {
        MyGenericMethod genericMethod = new MyGenericMethod();
        genericMethod.show(520);
        genericMethod.show("五二零");
        genericMethod.show(new Integer(520));
    }

运行结果:


2. 泛型集合

示例代码:

package list;

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

/**
 * List子接口的使用(一)
 * 特点:1.有序有下标 2.可以重复
 * 1.添加元素
 * 2.删除元素
 * 3.遍历元素
 * 4.判断
 * 5.获取位置
 */
public class Demo3 {
    public static void main(String[] args) {
        //        创建集合
        List<String> list = new ArrayList<>();
        //1.添加元素 注意默认是添加到末尾
        list.add("zhou");
        list.add("tian");
        list.add(0, "jiao");//插入操作 在下标为0的元素前面插入 "jiao"
        System.out.println("元素个数:" + list.size());
        System.out.println("集合内容: " + list.toString());
        System.out.println();
        /*
        2.删除元素 这里删除的下标为0的元素
        如果要删除元素内容为0的元素 =>  list.remove(new Integer(0));
         */
        list.remove(0);
        //list.remove("tian"); 删除元素内容为"tian"的元素
        System.out.println("删除下标为0的元素和元素内容为\\"tian\\"的元素之后:" + list.size());
        System.out.println(list.toString());
        System.out.println();
        //3.遍历元素
        //3.1 使用for遍历
        System.out.println("---------------使用普通for循环遍历---------------");
        for (int i = 0; i < list.size(); ++i) {
            /*
            这里 get(index); 是根据元素的下标获取元素
             */
            System.out.print(list.get(i) + "\\t");
        }
        System.out.println();

        System.out.println("---------------使用增强for循环遍历---------------");
        //3.2 使用增强for
        for (Object object : list) {
            System.out.print(object + "\\t");
        }
        System.out.println();

        //3.3 使用迭代器
        System.out.println("---------------使用Iterator迭代器遍历---------------");
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.print(iterator.next() + "\\t");
        }
        System.out.println();

        //3.4使用列表迭代器,listIterator可以双向遍历,添加、删除及修改元素。
        System.out.println("---------------使用listIterator列表迭代器遍历---------------");
        ListIterator<String> listIterator = list.listIterator();
        //从前往后
        System.out.println("\\n从前往后遍历元素:");
        while (listIterator.hasNext()) {
            System.out.print(listIterator.next() + "\\t");
        }
        //从后往前(此时“遍历指针”已经指向末尾)
        System.out.println("从后往前遍历元素:");
        while (listIterator.hasPrevious()) {
            System.out.print(listIterator.previous() + "\\t");
        }

        //4.判断
        System.out.println();
        System.out.println("列表是否为空: " + list.isEmpty());
        System.out.println("列表是否包含'jiao': " + list.contains("jiao"));
        //5.获取位置
        System.out.println();
        System.out.println("第一个元素内容为jiao的下标为: (如果没有则返回-1)" + list.indexOf("jiao"));
        System.out.println("最后一个元素内容为jiao的下标为: (如果没有则返回-1)" + list.lastIndexOf("jiao"));

        //截取集合 截取下标为[0,1)的元素
        List<String> myList = list.subList(0, 1);
        System.out.println("\\n截取下标为[0,1)的元素" + myList);
    }
}

运行结果:


3. 泛型优点

  1. 提高代码重用性
        genericMethod.show(520);
        genericMethod.show("五二零");
        genericMethod.show(new Integer(520));
  1. 防止类型转换异常,提高代码的安全性。
	// 现在集合里面只可以存放String类型的数据 不然会报错
    List<String> list = new ArrayList<>();


以上是关于Java集合框架--泛型方法 & 泛型集合 & 泛型优点的主要内容,如果未能解决你的问题,请参考以下文章

Java笔记-泛型与集合框架

JAVA-初步认识-常用对象API(集合框架-泛型-泛型方法)

JAVA-初步认识-常用对象API(集合框架-泛型-泛型限定-上限)

JAVA-初步认识-常用对象API(集合框架-泛型-泛型限定-上限的体现)

java集合框架--泛型

JAVA-初步认识-常用对象API(集合框架-泛型-泛型接口)