コレクションと一般的な方法を理解する
認識セット
Javaコレクションフレームワークには、主に2種類のコンテナが含まれています。1つは要素のコレクションを格納するコレクションで、もう1つはキーと値のペアのマッピングを格納するマップです。コレクションインターフェイスには、List、Set、Queueの3つのサブタイプがあり、その後にいくつかの抽象クラス、最後に具体的な実装クラスがあります。一般的に使用されるのは、ArrayList、LinkedList 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を読んでくれてありがとう!!!お役に立てば幸いです。