JAVA之資料結構

2021-08-14 02:10:27 字數 1674 閱讀 2262

知識點總結:

一、陣列:

宣告:

object arr = new object[長度];

object arr = ;

object arr = new object;

賦值:arr[下標] = 值;

獲取陣列長度:arr[下標] = 值;

取值:arr[下標]

普通for迴圈遍歷for(int i=0;i二、集合:

特點:可變長度。

collection介面:

特點:有序、可重複;

實現類arraylist:

新增:add(object obj);

add(int i,object obj);

addall(collection c);

addall(int i,collection c);

修改:set(int i,object newobj);

刪除:remove(int i);

remove(object obj);

removeall(collection c);

retainall(collection c) 僅在列表中保留指定 collection 中所包含的元素;

clear();

查詢:get(int i) 根據下標查詢元素,返回元素;

contains(object obj) 查詢列表中是否包含指定元素,包含返回true;

containsall(collection c) 查詢列表中是否包含指定的多個元素,全部包含返回true;

indexof(object obj) 查詢指定元素第一次出現的下標,;返回下標索引,沒有該元素返回-1

lastindexof(object obj) 查詢指定元素最後一次出現的;下標,返回下標索引,沒有該元素返回-1

isempty() 判斷列表是否為空,為空返回true;

序列遍歷:

使用for迴圈for(int i=0;i子介面:set

特點:無序、不可重複;

實現類:hashset

新增:add(object obj);

addall(collection c);

修改:set中沒有修改的方法,可以間接修改,先刪除、再新增;

刪除:remove(object obj);

removeall(collection c);

retainall(collection c) 僅保留 set 中那些包含在指定 collection 中的元素;

clear() 清除所有元素;

查詢:contains(object obj) 查詢set中是否包含指定元素,包含返回true;

containsall(collection c) 查詢set中是否包含指定的多個元素,全部包含返回true;

isempty() 判斷set是否為空,為空返回true;

遍歷:使用foreach迴圈;

使用iterator迭代器;

it.hasnext() 如果有下乙個元素,返回true;

it.next() 返回下乙個元素;

it.remove() 刪除迭代器返回的最後乙個元素;

java資料結構之Bitset

這是一種位集合,操作一組布林值的時候可以通過 或or,與and,異或xor 等方法快速改變其組內某一部分值 bitset bits1 new bitset 10 bitset bits2 new bitset 10 for int i 1 i 21 i if i 3 0 else continue ...

JAVA資料結構之MaxHeap

public class maxheap publi maxheap e arr 返回堆中的元素個數 public intsize 返回乙個boolean值,判斷堆是否為空 public boolean isempty 返回完全二叉樹的陣列表示中,乙個索引所表示的元素的父親節點的索引 private...

java資料結構之陣列

首先定義乙個陣列類class myarray 空參構造時預設是長度為3的陣列 public myarray int maxsize 有參構造時引數為陣列長度 接下來是對陣列的插入 public void insert int a 然後是對陣列的刪除 public void delete int in...