ハービン株式会社の成長経路収集フレームワーク

コレクションと一般的な方法を理解する

認識セット

Javaコレクションフレームワークには、主に2種類のコンテナが含まれています。1つは要素のコレクションを格納するコレクションで、もう1つはキーと値のペアのマッピングを格納するマップです。コレクションインターフェイスには、List、Set、Queueの3つのサブタイプがあり、その後にいくつかの抽象クラス、最後に具体的な実装クラスがあります。一般的に使用されるのは、ArrayListLinkedList HashSet、LinkedHashSet、HashMap、LinkedHashMapなどです。

	以下是集合框架体系图

集合フレームワークシステム

配列リスト

一般的な方法
一般的な方法

ArrayListコレクションの要素をトラバースして出力する方法は、非常に重要で頻繁に使用される方法です。


ArrayList alist = new ArrayList();
alist.add(31);
alist.add("rapper虫儿飞")
alist.add("哦哈")
//循环遍历
for(int i=0;i<alist.size();i++){
    
    
	System.out.print(alist.get(i)+"\t");
}
System.out.println("--------------------------");

//增强for 循环
for (Object o:alist){
    
    
	System.out.print(o)
}
System.out.println("--------------------------");

//迭代器
Iterator it=alist.iterator();
while(it.hasNext()){
    
    
	System.out.print(it.next()+"\t");
}

LinkedList

存储原理是一个链表,在元素的前后分别有一个前置结点和后置结点,用于连接集合中的上一个元素和下一个元素,依次构成一条链式数据的集合。

LinkedList相比较于ArrayList特有的方法如下
void addFirst(Object o)  给指定元素插入当前集合头部
void addLastt(Object o)  给指定元素插入当前集合尾部
···  getFirst()  获取当前集合的第一个元素
···  getLast()  获取当前集合的最后一个元素
···  removeFirst() 移除并返回当前集合的第一个元素
···  removeLast() 移除并返回当前集合的最后一个元素

出力LinkedListをトラバースする方法は、ArrayListの方法と同じです。

セットする

set接口的特点:存储一组唯一(不允许出现重复的元素),无序(没有index下标的)的对象,HashSet是Set接口常用的实现类。
HashSet set=new HashSet();

set.add("ni");
set.add(22);
//没有修改数据的方法

//删除数据
set.remove(22);
//只能获取所有元素--只能用增强for循环和迭代器Iterator输出
for (Object o:set){
    
    
	System.out.println(o)
}

Iterator it =set.iterator();
while(it.hasNext()){
    
    
	System.out.println(it.next());
}

JDK9バージョンは新機能を追加します

この新機能により、コレクションに複数の要素を一度に追加できるため、要素を追加する通常の操作が容易になります。

/*JDK9的新特性:
        List接口,Set接口,Map接口:里边增加了一个静态的方法of,可以给集合一次性添加多个元素
        static <E> List<E> of?(E... elements)
        使用前提:
            当集合中存储的元素的个数已经确定了,不在改变时使用
     注意:
        1.of方法只适用于List接口,Set接口,Map接口,不适用于接接口的实现类
        2.of方法的返回值是一个不能改变的集合,集合不能再使用add,put方法添加元素,会抛出异常
        3.Set接口和Map接口在调用of方法的时候,不能有重复的元素,否则会抛出异常
*/




  public static void main(String[] args) {
    
    
        List<String> list = List.of("a", "b", "a", "c", "d");
        System.out.println(list);//[a, b, a, c, d]
        //list.add("w");//UnsupportedOperationException:不支持操作异常
         //Set<String> set = Set.of("a", "b", "a", "c", "d");//IllegalArgumentException:非法参数异常,有重复的元素
        Set<String> set = Set.of("a", "b", "c", "d");
        System.out.println(set);
        //set.add("w");//UnsupportedOperationException:不支持操作异常
         //Map<String, Integer> map = Map.of("张三", 18, "李四", 19, "王五", 20,"张三",19);IllegalArgumentException:非法参数异常,有重复的元素
        Map<String, Integer> map = Map.of("张三", 18, "李四", 19, "王五", 20);
        System.out.println(map);//{王五=20, 李四=19, 张三=18}
        //map.put("赵四",30);//UnsupportedOperationException:不支持操作异常
    }

evbdを読んでくれてありがとう!お役に立てば幸いです。

おすすめ

転載: blog.csdn.net/serenty111/article/details/109403349