Java-集合类

java集合框架

/*
    * Java集合框架提供了一套性能优良,使用方便的接口和类,他们位于java.util包中
    * Collection:①List(List包括ArrayList和Linklist;); ②Set(Set包括 HashSet 和 TreeSet);
    * Map 包括 HashMap 和 TreeMap
    * List接口常用方法:
    * ①boolean add(object o):在列表的末尾顺序添加元素,起始索引位置从0开始;
    * ②void add(int index,object o):在指定位置添加元素(索引位置介于0和元素个数之间);
    * ③int size():返回列表中的元素个数;
    * ④Object get(int index):返回指定索引位置的元素;
    * ⑤boolean remove(Object o):从列表中删除元素;
    * ⑥Object remove(int index):从列表中删除指定位置元素,起始索引位置从0开始;
    * LinkedList独有方法:
    * linkedList.addFirst("");linkedList.removeFirst();linkedList.getFirst();
    * linkedList.addLast("");linkedList.removeLast();LinkList.getLast();
    *
    * ArrayList在遍历集合中的元素时,其效率比LinkedList要高的多;
    * ArrayList其是顺序结构,添加方便,删除添加则麻烦;LinkedList链式结构,添加麻烦,删除简单
    *
    * */

List和Dog类

package com.Collection;

public class Dog {
    private String name;
    private String type;
    //无参构造方法

    public Dog() {
    }

    //有参构造方法
    public Dog(String name, String type) {
        this.name = name;
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}

package com.Collection;

import java.util.ArrayList;
import java.util.Iterator;

public class List {
    /*
    * Java集合框架提供了一套性能优良,使用方便的接口和类,他们位于java.util包中
    * Collection:①List(List包括ArrayList和Linklist;); ②Set(Set包括 HashSet 和 TreeSet);
    * Map 包括 HashMap 和 TreeMap
    * List接口常用方法:
    * ①boolean add(object o):在列表的末尾顺序添加元素,起始索引位置从0开始;
    * ②void add(int index,object o):在指定位置添加元素(索引位置介于0和元素个数之间);
    * ③int size():返回列表中的元素个数;
    * ④Object get(int index):返回指定索引位置的元素;
    * ⑤boolean remove(Object o):从列表中删除元素;
    * ⑥Object remove(int index):从列表中删除指定位置元素,起始索引位置从0开始;
    * LinkedList独有方法:
    * linkedList.addFirst("");linkedList.removeFirst();linkedList.getFirst();
    * linkedList.addLast("");linkedList.removeLast();LinkList.getLast();
    *
    * ArrayList在遍历集合中的元素时,其效率比LinkedList要高的多;
    * ArrayList其是顺序结构,添加方便,删除添加则麻烦;LinkedList链式结构,添加麻烦,删除简单
    *
    * */
    public static void main(String[] args) {
//        ArrayList objects = new ArrayList();
//        List list = new ArrayList();//上转型;list是接口不能实例化,但ArrayList()可以
//        LinkedList<Object> objects = new LinkedList<>();//大体上和ArrayList相似;
        java.util.List<String > list = new ArrayList<String>();//泛型(事先确定数据类型):<list的数据类型>
        list.add("qiqi");
        list.add("sansan");
        list.add("qiqi");
        list.add("77");
        for (int i = 0; i < list.size(); i++) {
            Object o = list.get(i);//需要元素有序
//            String s = (String) list.get(i);//两种方法都可以
            System.out.println(o);
        }

        //迭代器:Iterator;
        Iterator<String> it = list.iterator();
        while (it.hasNext()){
            String s = it.next();
            System.out.println(s);
        }

        /*
        * 1.list存的元素是可以重复的;
        * 2.list元素是有序的;
        * */
        //Dog
        ArrayList<Dog> dogs = new ArrayList<>();
        dogs.add(new Dog("nana","雪纳瑞"));
        dogs.add(new Dog("rerq","泰迪"));
        dogs.add(new Dog("abcd","纳瑞"));
        dogs.add(new Dog("nnnnm","瑞"));
        System.out.println("总共有"+ dogs.size()+"条狗");
        for (int i = 0; i < dogs.size(); i++) {
            Dog dog = dogs.get(i);
            System.out.println(dog.getName() + "\t" + dog.getType());
        }

    }
}

集合类Set

package com.Collection;

import java.util.HashSet;

public class Set {
    /*
    * List:存储的元素有序并可重复;
    * Set:存储的元素无序,并不可重复
    * */
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        set.add("zs");
        set.add("ls");
        set.add("qiqi");
        set.add("ls");
        //增强for循环
        for (String s : set) {
            System.out.println(s);
        }
//        Math.random();//生成随机数;
        //生成不重复的20~50之间的十个随机数;
        HashSet<Integer> set1 = new HashSet<>();
        while (set1.size() < 10){
            int num = (int) (Math.random()*30+20);
            set1.add(num);

        }
        for (Integer i : set1) {
            System.out.println(i);
        }


    }

}

Map

package com.Collection;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class Map {
    public static void main(String[] args) {
        /*
        * map为双列集合
        * key不可重复,值可以重复;
        * key可以为空,也可以为null
        *
        * */

        HashMap<String, String> map = new HashMap<>();
        map.put("China","中国");
        map.put("USA","美国");
        map.put("Rusa","俄罗斯");
        map.put("Jpa","日本");
        map.put("Jpa","sansan");

        System.out.println(map.get("USA"));
        System.out.println("map中元素个数:"+map.size());
        map.remove("Jpa");//删除元素
        map.containsKey("Jpa");//判断是否存在key

        //获取map中所有的元素
        Set<String> strings = map.keySet();//获取map中所有的key;keySet()返回key的集合
        Iterator<String> it = strings.iterator();
        while (it.hasNext()){
            String key = it.next();
            System.out.println(key + ":" + map.get(key));
        }

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值