JAVA 学习随笔记录 (八)泛型与集合类

编程入门 行业动态 更新时间:2024-10-11 21:30:49

JAVA 学习<a href=https://www.elefans.com/category/jswz/34/1769507.html style=随笔记录 (八)泛型与集合类"/>

JAVA 学习随笔记录 (八)泛型与集合类

目录

 

定义泛型类

 定义泛型类时声明多个类型

定义泛型类时声明数组类型:

 List集合

Set集合


定义泛型类

定义泛型类的语法如下:

class 类名 <T>

T代表被传入参数的数据类型。

例:

package unit2;

public class Book<T> {                    //T类型的泛型
    private T bookinfo;
    public Book(T bookinfo) {
        this.bookinfo=bookinfo;
    }
    public T getBookinfo() {
        return bookinfo;
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Book<String> bookName=new Book<String>("伽利略的烦恼");
        System.out.println("书名是:"+bookName.getBookinfo());
    }

}

 定义泛型类时声明多个类型

在定义泛型类时,可以声明多个类型,语法如下:

例:T1,T2分别是bool和float型:

MutiOverClass<Boolean,Float> mutiOc=new MutiOverClass<Boolean,Float>(true,3.11f);

定义泛型类时声明数组类型:

数组类型形参

例:

package unit2;

public class Book1<T> {
    private T[] bookInfo1;
        public Book1(T[] bookInfo1){
        this.bookInfo1=bookInfo1;
        }
        public void showBookInfo() {
            System.out.println("书名\t\t作者\t价格\t是否附带光盘");
            System.out.println("_______________________");
            for(int i=0;i<bookInfo1.length;i++) {
                System.out.println(bookInfo1[i]+"\t");
            }
        }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String[] info= {"伽利略的烦恼","东野奎吾","46.30","否"};
        Book1<String> book=new Book1<String>(info);
        book.showBookInfo();

}
}

 List集合

List 接口方法:

方法功能描述
get(int index)获得指定索引位置上的元素
set(int index,Object obj)将集合中指定索引位置的对象修改为指定对象

JAVA中提供两种实现接口类,分别是:

ArrayList以数组的形式保存集合中的元素,根据索引可以快速查表

LinkedList以链表结构保存集合中的元素,随机访问性能较差,但插入删除能力较强

List<E> list=new ArrayList<>();

List<E> list2=new LinkedList<>();

例:List集合的常用方法

package unit2;

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

public class ListTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        List<String> list=new ArrayList<>();
        list.add("b");
        list.add("a");
        list.add("c");
        list.add("d");
        list.add("e");
        list.add("f");
        int i=(int)(Math.random()*list.size());
        System.out.println("随机获得的字符是"+list.get(i));
        list.remove(2);
        System.out.println("移除位置2上的索引后,遍历数组情况如图");
        for(int j=0;j<list.size();j++) {
            System.out.println(list.get(j));
        }
    }

}

 

 Iterator迭代器:一种遍历用的方法,可以省略使用循环带来的不便,

Iterator<String> it=list.iterator();

while(it.hasNext()){

String str=(String) it.next();

sout(str);

}

Set集合

set接口常用的实现类有HashSet类和TreeSet类,适用于有索引的查询

HashSet不允许有重复元素,TreeSet会自然升序

first方法:返回此set中第一个元素

last方法:返回此set中最后一个元素

例:使用TreeSet进行升序

package unit2;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class TreeSetTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Set <Integer> set=new TreeSet<>();
        set.add(-5);
        set.add(-9);
        set.add(5);
        set.add(99);
        set.add(-789);
            Iterator<Integer> it=set.iterator();
            while(it.hasNext()) {
                System.out.println(it.next());
            }
    }

}

 Map集合

在程序中,如果想存储具有映射关系的数据,就需要使用Map集合,它提供了key到value的映射关系,Map接口中不能包含相同的key,并且每个key只能映射一个value,常用方法有:

put(object key,object value) 向集合中添加对应的关系。

get(objective key) 如果存在key对象,则返回对应的值。

接口的实现通过HashMap和TreeMap来实现。

更多推荐

JAVA 学习随笔记录 (八)泛型与集合类

本文发布于:2024-03-09 06:38:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1724163.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:随笔   JAVA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!