當前位置:首頁 » 存儲配置 » list如何存儲數據

list如何存儲數據

發布時間: 2023-06-04 15:32:53

A. 怎麼將list<>保存到資料庫

就是寫文件啊,循環list string str = Guid.NewGuid().ToString(); string strPath = "C:\\Program Files\\" + str + ".xls"; FileStream fs = File.Create(strPath); StreamWriter sw = new StreamWriter(fs, Encoding.Unicode); string strLine = ""; // 寫入列標題 for (int i = 0; i < colNames.Length; i++) { string[] col = colNames[i].Split('='); strLine = strLine + col[1].ToString() + Convert.ToChar(9); } sw.WriteLine(strLine); strLine = ""; // 寫入報表數據 for (int i = 0; i < dt.Rows.Count; i++) { // for (int j = 0; j < colNames.Length; j++) { string[] col = colNames[j].Split('='); strLine = strLine + dt.Rows[i][col[0]].ToString() + Convert.ToChar(9); } sw.WriteLine(strLine); strLine = ""; } sw.Close(); fs.Close();

B. 集合(三)List

同:三個類都是實現了List介面,存儲數據的特點相同:存儲有序的、可重復的數據

異:

ArrayList:是用的最多得,線程不安全所以效率高。底層使用Object[] elementData數組存儲

LinkedList:對於平凡的插入、刪除操作效率更高,因為底層是雙向鏈表(ArrayList的話要一個個移,但是查找多還是

ArrayList好)

Vector:1.0的時候出的古老實現類,其他包括List本身都是1.2出的;線程安全效率慢,其他和ArrayList差不多底層也是數組。接班不用

ArrayList:

jdk7.0的時候:

ArrayList list = new ArrayList();// 底層創建了長度是10的數組

當添加的元素數量超過數組容量了就擴容, 默認情況下擴容1.5倍 ,並復制到新數組里。(和StringBuilder很像)

建議開發中使用帶參數的構造器:

new ArrayList(int capacity)

jdk8.0的時候:

new ArrayList();//底層初始化為{},第一次add時才創建長度為10的數組,其他一樣

好處:延遲數組的創建,節省內存

Vector:

如果沒給capacity一開始也初始化長度為10的數組(類ArrayList7.0),但是擴容的時候擴為原來的2倍

Linked list = new LinkedList();//內部聲明了Node類型的first和last屬性,默認值為null

list.add(「something」);//創建node並將數據裝到node里

其中Node定義為:

//是linkedlist的一個內部類

private static class Node<E>{

E item;//數據

Node<E> next;

Node<E> prev;

Node(Node<E> prev,Node<E> next,Node<E> next){

this.item = element;

this.next = next;

this,prev = prev

}

}

List除了從Collection集合繼承的方法外,List 集合里添加了一些根據索引來操作集合元素的方法。

void add(int index, Object ele):在index位置插入ele元素

boolean addAll(int index, Collection eles):從index位置開始將eles中的所有元素添加進來

Object get(int index):獲取指定index位置的元素

int indexOf(Object obj):返回obj在集合中首次出現的位置,找不到就-1

int lastIndexOf(Object obj):返回obj在當前集合中末次出現的位置,找不到就-1

Object remove(int index):移除指定index位置的元素,並返回此元素

Object set(int index, Object ele):設置指定index位置的元素為ele

List subList(int fromIndex, int toIndex):返回從fromIndex到toIndex位置的子集合

總結常用方法:

增:add(Object)

刪:remove(Object)/remove(index)

改:set(index,Object)

查:get(index)

插入:add(index,Object)

長度:size()

遍歷:

1.iterator

 2.for(Object o : list)

 3.for(int i =0;i<list.size();i++)

C. 資料庫中用什麼類型存儲List

List類型本身是可以存放任何對象的,也就是只要是數據都可以存儲的。
如:List.add(new Object());這個語句是不會報錯的。由於Object是任何對象的父類,所以任何的子對象都是可以被List通過add方法進行存放的。

D. java中set集合與list集合分別是怎樣存放數據的

Java中的集合包括三大類,它們是Set、List和Map,它們都處於java.util包中,Set、List和Map都是介面,它們有各自的實現類。Set的實現類主要有HashSet和TreeSet,List的實現類主要有ArrayList,Map的實現類主要有HashMap和TreeMap。
Set中的對象不按特定方式排序,並且沒有重復對象。但它的有些實現類能對集合中的對象按特定方式排序,例如TreeSet類,它可以按照默認排序,也可以通過實現java.util.Comparator<Type>介面來自定義排序方式。
List中的對象按照索引位置排序,可以有重復對象,允許按照對象在集合中的索引位置檢索對象,如通過list.get(i)方式來獲得List集合中的元素。
Map中的每一個元素包含一個鍵對象和值對象,它們成對出現。鍵對象不能重復,值對象可以重復。

熱點內容
演算法lD3 發布:2024-03-19 16:17:06 瀏覽:842
t61電腦什麼配置嗎 發布:2024-03-19 15:59:58 瀏覽:615
安卓鍵盤哪個好 發布:2024-03-19 15:42:43 瀏覽:894
我的世界子軒伺服器名字 發布:2024-03-19 15:41:49 瀏覽:111
存儲過程優化批量插入 發布:2024-03-19 15:20:14 瀏覽:122
怎樣安裝ftp伺服器 發布:2024-03-19 15:19:19 瀏覽:484
上海編譯分布式存儲晶元 發布:2024-03-19 15:18:32 瀏覽:325
linux簡訊 發布:2024-03-19 14:50:57 瀏覽:930
byteintjava 發布:2024-03-19 14:48:17 瀏覽:808
歐力風雲怎麼設置緩存檔 發布:2024-03-19 14:39:03 瀏覽:789