集合

集合collection

集合的功能:
增删改查(可能有一个,以可能有全部。)
方法代码如下

package com.sxt.list;

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

import org.junit.Test;

public class ListTest {
    public static void main(String[]args){
        ArrayList<Integer> arr=new ArrayList<Integer>();
        //.add();添加元素
        arr.add(100);
        arr.add(98);
        arr.add(88);
        arr.add(78);
        //.add(0,0);向下标为0的位置插入一个数
        arr.add(0, 85);
        System.out.println("集合中的元素为"+arr);
        //移除列表所有的元素
        //arr.clear();
        //System.out.println("移除后"+arr);
        //列表包含指定的元素(有返回true否则false)
        boolean b = arr.contains(5);
        System.out.println("集合中是否含有该元素"+b);
        //返回元素中指定的下标的值
        Integer k = arr.get(2);
        System.out.println(k);
        //返回列表中的元素如果没有返回-1有的话返回下标
        int of = arr.indexOf(8);
        System.out.println(of);
        //列表中是否有值有的话返回false否择返回true
        System.out.println("是否为空"+arr.isEmpty());
        //根据下标移除列表中的元素
        arr.remove(2);
        System.out.println("移除后"+arr);
        //列表中的元素个数
        int size = arr.size();
        System.out.println("个数为"+size);
        //遍历for循环遍历
        for(int i=0;i<arr.size();i++){
            System.out.println(arr.get(i));
        }
        System.out.println("=========================");
        //增强for循环遍历
        for(Object ia:arr){
            System.out.println(ia);
        }
        System.out.println("===================");
        //迭代器 循环
        Iterator<Integer> it=arr.iterator();
        while(it.hasNext()){
            Integer next = it.next();
            System.out.println(next);
        }



    }

}

集合分为 list set map
分别特行:
List接口存储一组不唯一的,有序的(按插入顺序)的对象。
{List分为ArrayListLinkedList
优缺点:
ArrayList:遍历元素和随机访问元素的效率比较高。(内部是现实数组)
添加和删除需要大量移动元素效率低按照内容查询效率低。(线程安全,效率低)
LinkedList:采用链表贮存的,插入删除效率高,
遍历和随机访问效率低。(线程不安全,效率高)

Set接口存储一组唯一,无序()对象。
{HashSet:hash表集合,查询删除快,遍历和随机效率低。
LinkedHashSet(最好的)
TreeSet(红黑二叉树组成比ArrayList快,比HashSer慢)

Map(存放一组键值)
key 唯一,无序(Set)
valup 不唯一 ,有序
分为:
HashMap
TreeMap
LinkepHash
HasTable

package com.sxt.Map.HashMap;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

/**
 * 我的map的HashMap测试类
 * 
 * @author Administrator
 *
 */
public class MyMapHashMapTest {
    public static void main(String[] args) {
        Map<String, String> mp = new HashMap<String, String>();
        mp.put("n", "name");
        mp.put("s", "sex");
        mp.put("k", "key");
        mp.put("j", "java");
        mp.put("c", "java");
        int size = mp.size();
        System.out.println("元素有"+size+"个");
        boolean key = mp.containsKey("s");
        System.out.println("是否包涵这个键值"+key);
        System.out.println("==========================");
        Collection<String> values = mp.values();
        int ge=0;
        for(String s:values){
            ge++;
            System.out.println("遍历第"+ge+"个values值是"+s);
        }
        System.out.println("==========================");
        Set<String> set2 = mp.keySet();
        int ge1=0;
        for(String k:set2){
            ge1++;
            System.out.println("遍历第"+ge1+"个key值是"+k);
        }

        System.out.println("==========================");
        boolean b = mp.isEmpty();
        System.out.println("判断是是否为空" + b);
        System.out.println("==========================");
        String s = mp.get("n");
        System.out.println("获取值为" + s);
        System.out.println("==========================");
        String s1 = mp.remove("j");
        System.out.println("删除值为" + s1);
        System.out.println("==========================");
        /*
         * Set<String> set2 = mp.keySet(); for(String key:set2){
         * System.out.println(key+"========"+mp.get(key)); }
         */

        Set<Map.Entry<String, String>> set = mp.entrySet();
        Iterator<Entry<String, String>> i = set.iterator();
        while (i.hasNext()) {
            Map.Entry<String, String> next = i.next();
            System.out.println(next.getKey() + "=========" + next.getValue());
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值