Java集合常用类及其方法

集合

  • 用于存储对象;
  • 长度可变(区别于数组,长度固定)

ArrayList

import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
public class ArrayListTest{
    public static void main(String args[]){
        List<String> nameList = new ArrayList<String>(); //接口回调
        //ArrayList<String> nameList = new ArrayList<String>();
        nameList.add("张三");
        nameList.add("李四");  //add方法向列表中添加元素
        nameList.add("王二");
        nameList.add("王二");
        System.out.println(nameList);
        System.out.println(nameList.size()); //size方法返回列表元素个数
        System.out.println(nameList.indexOf("王二")); //返回该元素在列表中第一次出现的位置
        System.out.println(nameList.lastIndexOf("1"));//返回该元素在列表中最后一次出现的位置,没有该元素返回-1
        String e = nameList.get(0); //返回指定位置的元素值
        System.out.println(e);
        nameList.set(0,"路飞");
        System.out.println(nameList.get(0)); //用该元素替换指定位置的元素
        System.out.println(nameList.contains("路飞")); //判断列表中是否存在该元素存在返回true
        System.out.println(nameList.isEmpty()); // 判断列表是否为空,若为空返回true
        System.out.println("------列表的遍历------");
        //1.for循环
        System.out.println("-----1.普通for循环-----");
        for(int i=0;i<nameList.size();i++){
          System.out.println(nameList.get(i));
        }
        //2.foreach循环
        System.out.println("------2.foreach循环遍历------");
        for (String str:nameList) {
            System.out.println(str);
        }
        //3.迭代器(集合遍历通用方法)
        System.out.println("----迭代器-----");
        Iterator<String> it = nameList.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }
        System.out.println("---------------");
        /*List<String> nameListTwo = new ArrayList<String>();
        nameListTwo.add("路飞");
        nameListTwo.add("李四");
        System.out.println(nameList.remove(nameListTwo));*/
        System.out.println(nameList.remove("路飞")); //判断该列表中是否有该指定元素,如果有就删除该元素,并返回true
        System.out.println(nameList);
        System.out.println(nameList.remove(0));//删除指定位置的元素并返回该元素的值
        System.out.println(nameList);
        //nameList.clear();  //清除该列表中的所有元素
        System.out.println(nameList);
        System.out.println("------------------");
        /*Object[] str = nameList.toArray();
        for (Object i:str
             ) {
            System.out.println(i);
        }*/
        String str[] = nameList.toArray(new String[0]);
        for (int i=0;i<nameList.size();i++){
            System.out.println(nameList.get(i));
        }
    }
}

LinkedList

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

public class LinkedListTest {
    public static void main(String args[]){
        //List<Integer> interger = new LinkedList<Integer>();
        LinkedList<Integer> interger =new LinkedList<Integer>();
        interger.add(1);
        interger.add(2);
        interger.add(3);
        interger.add(3);
        System.out.println(interger);
        System.out.println(interger.size());
        System.out.println(interger.get(0));
        System.out.println(interger.isEmpty());
        System.out.println(interger.contains(1));
        System.out.println(interger.indexOf(3));
        System.out.println(interger.lastIndexOf(3));
        System.out.println(interger.remove(3)); //此时3指的是位置参数而不是元素的值
        System.out.println(interger);
        /*Object i[] = interger.toArray();
        for (Object t:i
             ) {
            System.out.println(t);
        }*/
        Integer i[] = interger.toArray(new Integer[0]);
        for(int t=0;t<interger.size();t++){
            System.out.println(interger.get(t));
        }
        //ArrayList方法LinkedList都同样适用
        //LinkedList特有的方法
        System.out.println("--------------------");
        System.out.println(interger.getFirst());  // 返回第一个元素
        System.out.println(interger.getLast());  //返回最后一个元素
        interger.removeFirst();  //删除第一个元素
        System.out.println(interger);
        interger.removeLast(); //删除最后一个元素
        System.out.println(interger);
        //遍历
        //1.for
        for (int t=0;t<interger.size();t++){
            System.out.println(interger.get(t));
        }
        //2.foreach
        for (Integer t:interger
             ) {
            System.out.println(t);
        }
        //3.迭代器
        Iterator<Integer> it = interger.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }
    }
}

HashSet

非顺序存储,元素唯一

import java.util.HashSet;
import java.util.Iterator;

public class HashSetTest {
    public  static void main(String aegs[]){
        HashSet<String> set = new HashSet<String>();
        set.add("路飞");
        set.add("索隆");
        set.add("山治");
        set.add("路飞");
        System.out.println(set);  //非顺序存储
        System.out.println(set.size());//元素唯一,可用于除重
        //遍历方法
        System.out.println("1.foreach-------");
        for (String str:set
             ) {
            System.out.println(str);
        }
        System.out.println("2.迭代器------");
        Iterator<String> it = set.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }
    /*HashSet没有get方法,所以不能使用for循环遍历*/
    }
}

HashMap

  • 存储的是键对值(相当于python中的字典类型)
  • key值不能重复,value值可以重复
  • 非顺序存储
import java.util.HashMap;
import java.util.Map;
import java.util.Iterator;

public class HashMapTest {
    public static void main(String args[]){
        HashMap<String, String> map = new HashMap<String,String>();
        map.put("name","路飞");
        map.put("sex","男");
        map.put("age","母鸡");
        System.out.println(map);
        System.out.println(map.get("name")); //通过key获取value的值
        System.out.println(map.remove("age"));//删除key值并返回其对应的value值
        //Hashmap遍历
        System.out.println("1.遍历整个键对值-------");
        Iterator<Map.Entry<String,String>> it = map.entrySet().iterator();  //Map.Entry<String,String>可以看作是一个字典类型
        /*while(it.hasNext()){
            String key = it.next().getKey();
            System.out.println(key+":"+map.get(key));
        }*/
        while(it.hasNext()){
            Map.Entry<String,String> entry = (Map.Entry<String,String>)it.next();
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key+":"+value);
        }
        System.out.println("2.遍历key---------");
        Iterator<String> it2 = map.keySet().iterator();
        while(it2.hasNext()){
            String key = it2.next();
            System.out.println(key+":"+map.get(key));
        }
        System.out.println("3.遍历value的值---------");
        /*该方法只能获得value的值*/
        Iterator<String> it3 = map.values().iterator();
        while(it3.hasNext()){
            String value = it3.next();
            System.out.println(value);
        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值