머리말
펑 형제 님의 말을 들어보세요. 하루에 한 시간 씩 신인 튜토리얼을 진행하세요 ~
길은 막혀 있고 길어요 ~
Java 데이터 구조 개요
자바 스택 클래스
Stack<Integer> st = new Stack<Integer>();
st.push(new Integer(1)); // 把项压入堆栈顶部。
Integer a = st.peek(); // 查看堆栈顶部的对象,但不从堆栈中移除它。
int place = st.search(1); // 从栈顶往下搜索,返回对象在堆栈中的位置,以 1 为基数。
Integer a = st.pop(); // 移除堆栈顶部的对象,并作为此函数的值返回该对象。
boolean is_empty = st.empty(); // 测试堆栈是否为空。
Java Hashtable 类
지도를 사용할 때 봐
컬렉션 프레임
수집 순회
ArrayList 탐색
//定义
List<String> list = new ArrayList<String>();
list.add("he")
list.add("she")
//1. 强for:
for(String str:list){
System.out.println(str);
}
//2. 集合转换成数组!
String[] strArray = new String[list.size()];
list.toArray(strArray);
for(int i=0;i<strArray.length;i++){
System.out.println(strArray[i]);
}
//3. 迭代器
Iterator<String> it = list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
ArrayList
소개:
ArrayList는 AbstractList를 상속하고 List 인터페이스를 구현합니다.
가이드 패키지 :
import java.util.ArrayList
초기화 :
ArrayList<引用类型> name = new ArrayList<>();
요소 추가 :
ArrayList<String> list = new ArrayList<String>();
list.add("haha,nihaochun");
액세스 요소 :
list.get(0); // index从0开始
요소 수정 :
list.set(0, "haha.nizhendehaochun"); // set(int index, E element)
요소 삭제 :
list.remove(0);
크기 계산 :
int sz = list.size();
되풀이:
for(int i = 0;i<list.size();i++){
SOUT(list.get(i));
}
정렬 1 :
import java.util.Collections;
Collections.sort(list);
정렬 2 (배열 정렬) :
int[] intArray = list.stream().mapToInt(Integer::valueOf).toArray();
Arrays.sort(intArray)
List <Integer> : int 배열로 변환 :
list.stream().mapToInt(Integer::valueOf).toArray();
기타 일반적인 방법 (사용시 추가하십시오) :
https://www.runoob.com/java/java-arraylist.html
HashMap
소개:
HashMap은 AbstractMap에서 상속되며 Map, Cloneable 및 java.io.Serializable 인터페이스를 구현합니다.
가이드 패키지 :
import java.util.HashMap;
초기화 :
HashMap<Integer, String> Sites = new HashMap<Integer, String>();
요소 추가 :
Sites.put(1, "Google");
액세스 요소 1 :
String s = Sites.get(3);
액세스 요소 2 :
String s = Sites.getOrDefault(4, "Noexits!!")
요소 삭제 :
Sites.remove(4);
빈:
Sites.clear();
크기 계산 :
Sites.size()
되풀이:
//键
for(Integer i : Sites.keySet()){
...
}
//值
for(String s : Sites.values()){
...
}
//键-值
for(Integer i : Sites.keySet()){
String s = Sites.get(i);
}
기타 일반적인 방법 :
https://www.runoob.com/java/java-hashmap.html
LinkedList
소개 :
가이드 패키지 :
import java.util.LinkedList;
초기화 :
LinkedList<E> list = new LinkedList<E>();
ArrayList는 그것을 가지고 있고 그것을 갖게 될 것입니다. 다음은 독특하고 더 효율적인 방법 중 일부입니다 :
머리에 요소 추가
list.addFirst(...);
끝에 요소 추가
list.addLast(...);
머리에서 요소 제거
list.removeFirst();
꼬리의 요소 제거
list.removeLast();
헤드 요소 가져 오기
list.getFirst();
꼬리 요소 가져 오기
list.getLast();
기타 일반적인 방법 :
https://www.runoob.com/java/java-linkedlist.html
StringBuffer
소개:
그러나 애플리케이션에 스레드 안전성이 필요한 경우 StringBuffer 클래스를 사용해야합니다.
초기화 :
StringBuffer sb = new StringBuffer("lalala");
증가하다
sb.append("wwww");
이 시퀀스에있는 데이터의 문자열 표현을 반환합니다.
String ss = sb.toString();
범위에서 문자열 삭제
sb.delete(index, index+1);
단일 문자 삭제
sb.deleteCharAt(index); // 得到和上面一样的效果
길이
int length = sb.length();
끈
소개:
문자열은 Java 프로그래밍에서 널리 사용되며, 문자열은 Java의 객체이며 Java는 문자열을 만들고 조작 할 수있는 String 클래스를 제공합니다.
초기화
String s = "xxxx";
단일 문자에 액세스
char c = s.charAt(index);
길이
int length = s.length();
기타 관련
기본 유형 참조 유형
ArrayList의 초기화는 다음과 같습니다.
ArrayList<E> list = new ArrayList<>();
E : objectName의 데이터 유형을 설정하는 데 사용되는 일반 데이터 유형이며 참조 데이터 유형 만 될 수 있습니다.
또한 HashMap에 저장된 유형도 참조 유형
이므로 다음은 일반적인 기본 유형과 참조 유형에 대해 설명합니다.