當前位置:首頁 » 編程語言 » 集合java

集合java

發布時間: 2022-01-22 05:35:38

『壹』 java中的集合有幾種

集合類是放在java.util.*;這個包里。集合類存放的都是對象的引用,而非對象本身,為了說起來方便些,我們稱集合中的對象就是指集合中對象的引用(reference)。引用的概念大家不會忘了吧,在前邊我們講數據類型時講的。
集合類型主要有3種:set(集)、list(列表)、map(映射)和Queue(隊列)。//隊列為jdk5中的加上的

(1) Set

集(set)是最簡單的一種集合,它的對象不按特定方式排序,只是簡單的把對象加入集合中,就像往口袋裡放東西。對集中成員的訪問和操作是通過集中對象的引用進行的,所以集中不能有重復對象。我們知道數學上的集合也是Set這個,集合裡面一定是沒有重復的元素的。

(2)List

列表(List)的主要特徵是其對象以線性方式存儲,沒有特定順序,只有一個開頭和一個結尾,當然,它與根本沒有順序的Set是不同的。它是鏈表嘛,一條鏈肯定有順序這個順序就不一定了。

(3)Map

映射(Map),這個在java里不是地圖的意思,其實地圖也是映射哈。它裡面的東西是鍵-值對(key-value)出現的,鍵值對是什麼呢?舉個例子,比如我們查字典,用部首查字法。目錄那個字就是鍵,這個字的解釋就是值。鍵和值成對出現。這樣說可以理解吧。這也是很常用的數據結構哦。

(4)Queue

在jdk5.0以前,通常的實現方式是使用java.util.List集合來模仿Queue。Queue的概念通過把對象添加(稱為enqueuing的操作)到List的尾部(即Queue的後部)並通過從List的頭部(即Queue的前部)提取對象而從 List中移除(稱為dequeuing的操作)來模擬。你需要執行先進先出的動作時可以直接使用Queue介面就可以了。

這4個東西,有時候功能還不太完善,需要有些子類繼承它的特性。Set的子介面有TreeSet,SortedSet,List的有ArrayList等,Map里有HashMap,HashTable等,Queue裡面有BlockingQueue等。我們來看看例子吧:

實踐: Set舉例

import java.util.*;

public class SetExample {

public static void main(String[] args) {

Set set = new HashSet(); //HashSet是Set的子介面

set.add("one");

set.add("second");

set.add("3rd");

set.add(new Integer(4));

set.add(new Float( 5.0F ));

set.add("second");

set.add(new Integer(4));

System.out.println(set);

}}

List舉例:

import java.util.*;

public class ListExample {

public static void main(String[] args) {

List list = new ArrayList();

list.add("one");

list.add("second");

list.add("3rd");

list.add(new Integer(4));

list.add(new Float( 5.0F ));

list.add("second");

list.add(new Integer(4));

System.out.println(list);

}}

Map舉例

import java.util.Map;

import java.util.HashMap;

import java.util.Iterator;

import java.io.FileReader;

public class MapExample {

public static void main(String[] args) throws java.io.FileNotFoundException {

Map word_count_map = new HashMap();

FileReader reader = new FileReader(args[0]);

Iterator words = new WordStreamIterator(reader);

while ( words.hasNext() ) {

String word = (String) words.next();

String word_lowercase = word.toLowerCase();

Integer frequency = (Integer)word_count_map.get(word_lowercase);

if ( frequency == null ) {

frequency = new Integer(1);

} else {

int value = frequency.intValue();

frequency = new Integer(value + 1);}

word_count_map.put(word_lowercase, frequency);

}

System.out.println(word_count_map);

}}

Queue舉例:

import java.io.IOException;

import java.io.PrintStream;

import java.util.LinkedList;

import java.util.Queue;

public class QueueTester {

public Queue<String> q; //發現了一個奇怪的語法,這個尖括弧是泛型聲明

public QueueTester() {q = new LinkedList<String>();}

public void testFIFO(PrintStream out) throws IOException {

q.add("First");

q.add("Second");

q.add("Third");

Object o;

while ((o = q.poll()) != null) {

out.println(o);}}

public static void main(String[] args) {

QueueTester tester = new QueueTester();

try { tester.testFIFO(System.out);

} catch (IOException e) {

e.printStackTrace(); } }}

『貳』 Java中「集合」是啥意思集合類的「集合」

在java語言提供的工具類里,一般集合指的是實現了Collection介面的類。

主要是Set、List、Queue

Collection介面方法如下

當然 還有很多很多,就不一一舉例了。

另外如果你願意完全可以定義自己的集合,說白了不就是按照自己的邏輯把對象放在一起么~~~一般實現存、取、排序 就OK了。

『叄』 集合java代碼如何實現

java集合 Collection為父介面,包括list、set、map等常用。
list:有序,可重復
set:無序,不可重復
map:以鍵值對方式存在的,鍵唯一,值唯一
下面列舉一些開發中常用的:
1.List相關

List books = new ArrayList();
//向books集合中添加三個元素
books.add(new String("輕量級Java EE企業應用實戰"));
books.add(new String("瘋狂Java講義"));
books.add(new String("瘋狂Android講義"));

LinkedList books = new LinkedList();
//將字元串元素加入隊列的尾部(雙端隊列)
books.offer("瘋狂Java講義");
//將一個字元串元素加入棧的頂部(雙端隊列)
books.push("輕量級Java EE企業應用實戰");
2.set相關
HashSet books = new HashSet();
//分別向books集合中添加兩個A對象,兩個B對象,兩個C對象
books.add(new A());
books.add(new A());
LinkedHashSet books = new LinkedHashSet();
books.add("Java");
books.add("LittleHann");
System.out.println(books);

TreeSet nums = new TreeSet();
//向TreeSet中添加四個Integer對象
nums.add(5);
nums.add(2);
nums.add(10);
nums.add(-9);

3.map相關
Map map = new HashMap();
map.put("key1","lisi1");
map.put("key2","lisi2");
map.put("key3","lisi3");
map.put("key4","lisi4");
Hashtable ht = new Hashtable();
ht.put(new A(60000) , "瘋狂Java講義");
ht.put(new A(87563) , "輕量級Java EE企業應用實戰");
ht.put(new A(1232) , new B());
LinkedHashMap scores = new LinkedHashMap();
scores.put("語文" , 80);
scores.put("英文" , 82);
scores.put("數學" , 76);

TreeMap tm = new TreeMap();
tm.put(new R(3) , "輕量級Java EE企業應用實戰");
tm.put(new R(-5) , "瘋狂Java講義");
tm.put(new R(9) , "瘋狂Android講義");
WeakHashMap whm = new WeakHashMap();
whm.put(new String("語文") , new String("良好"));
whm.put(new String("數學") , new String("及格"));
whm.put(new String("英文") , new String("中等"));

『肆』 JAVA集合

第一個程序是從迭代器裡面刪除對象,第二個是直接從Collection裡面刪的,在Iterator迭代過程中,是不可以修改集合元素的,跟增強for循環一樣,會把你正在遍歷的對象鎖住,只能讀取裡面的值,不能修改,直到循環結束

『伍』 JAVA的集合類型有哪些

Java集合類型主要有3種:set(集)、list(列表)和map(映射)。

Collection、Set和List的區別如下:
Collection對象之間沒有指定的順序,允許有重復元素和多個null元素對象;它是Set和List介面的父類,是一種最通用型的集合介面;

Set各個元素對象之間沒有指定的順序,不允許有重復元素,最多允許有一個null元素對象;
List各個元素對象之間有指定的順序,允許重復元素和多個null元素對象;

『陸』 java集合類

排名次你自己搞定吧——30分只值這么多。
/*
一個班15個人,每個學生都有學號,姓名,英語成績,語文成績,數學成績。
要求:
1)每個人的成績在40到100分以內。學號從1開始排列,姓名隨意
2)將學生保存到Map集合中,按照KEY-->學號 VALUE--->學生
3)將全班的學生按三科總成績排名顯示出所有學生信息

*/
import java.util.*;

public class SaveStudentBai {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Map <int,FifteenStudent> fifMap = new HashMap <int,FifteenStudent> ();
FifteenStudent[] fifArray = new FifteenStudent[15];
for(int i=0;i<15;i++) {
// System.out.println("Enter ID!");
// int id = sc.nextInt();
//既然學號從1開始排列,那麼就這樣吧。少寫一個算一個,本人比較懶。o(╯□╰)o
int id = i+1;
System.out.println("Enter Name!");
String name = sc.next();
System.out.println("Enter English Score!");
int engScore = sc.nextInt();
System.out.println("Enter Chinese Score!");
int chiScore = sc.nextInt();
System.out.println("Enter Math Score!");
int matScore = sc.nextInt();
fifArray[i] = new FifteenStudent(id, name, engScore, chiScore, matScore);
fifMap.put(id,fifArray[i]);

}
}
}

class FifteenStudent {
int id;
String name;
int engScore;
int chiScore;
int matScore;

public FifteenStudent(int id,String name,int engScore,int chiScore,int matScore) {
this.id = id;
this.name = name;
this.engScore = engScore;
this.chiScore = chiScore;
this.matScore = matScore;
}

}

『柒』 Java集合什麼意思

1、集合可以有List,vector等,其實map也是一個集合
2、這些集合有啥用呢,就好比你有一堆數據要存:
[name='張三' , age=20, address='北京']
[name='李四' , age=15, address='湖南']
[name='王五' , age=18, address='甘肅']等等,
這樣一條一條的數據你就能夠用集合來保存起來,放到一條集合中去
3、例如用list來保存,保存形式就如下:
list = {[name='張三' , age=20, address='北京'], [name='李四' , age=15, address='湖南'] , [name='王五' , age=18, address='甘肅']};
這樣的形式了,然後取值的時候你就可以根據list.get(i)來分別取值了。
4、如果要取到每一條裡面的屬性,那麼可以配合map或者存儲的是實體類對象,來分別取值就對了,非常的簡單且實用

『捌』 java集合是什麼

Java集合是什麼:

Java 中的集合類庫可以幫助我們在程序設計中實現傳統的數據結構。

Java的集合類是一個用來存放對象的容器,有以下特點:

1、Java集合只能存放對象。加入添加了一個基本數據類型,會被自動裝箱後存入集合。

2、集合存放的是多個對象的引用,對象本身是在堆內存中的。

3、集合可以存放不同類型,不限數量的數據類型。

集合分三種:1、Set 2 、List 3、Map,下面進行具體介紹。

擴展鏈接:

主要內容:

1)手寫ArrayList

2)手寫單鏈表

3)手寫LinkedList

4)手寫HashMap

5)手寫HashSet

6)最新並發集合類

學習目標:

1. 掌握手寫ArrayList

2. 掌握手寫單鏈表

3. 掌握手寫LinkedList

4. 掌握手寫HashMap

5. 掌握手寫HashSet

6. 理解最新並發集合類底層原理

視頻課程小結:

01_集合提升訓練_手寫ArrayList_get_size_isEmpty_自定義異常

02_集合提升訓練_手寫ArrayList_構造方法_add

03_集合提升訓練_手寫ArrayList_toString_iterator

04_集合提升循環_手寫單鏈表_get

05_集合提升訓練_手寫單鏈表_add_remove_toString

06_集合提升訓練_手寫LinkedList

07_集合提升訓練_手寫LinkedList_添加內存分配圖

08_集合提升訓練_HashMap的原理和代碼准備

09_集合提升訓練_手寫HashMap的put

10_集合提升訓練_手寫HashMap的get_toString

11_集合提升訓練_手寫HashSet

12_集合提升訓練_新一代並發集合類


『玖』 java集合

集合就相當於你午飯的飯碗
Collection c=new HashSet(); // 我要一個大碗...
Collection<米飯> c=new HashSet<米飯>(); // 我要一個只能裝米飯的大碗,(不能裝菜, 也不能裝沙子);
回到你的問題,

aaa,bbb,ccc 相當於飯碗里裝的東西, 比如 aaa類型為米飯, bbb 類型為菜, ccc類型為沙子(就是喜歡吃帶沙子的米....).
Collection c=new HashSet(); // 你要一個大碗.. 可以裝任何東西的大碗.
相當於
Collection<東西> c=new HashSet<東西>();// 你要一個大碗.. 只要是東西就能放進去的大碗..
你程序寫的是a b c 都是String類型, 其實你可以往裡放數字, 枚舉 等其他的...
abc 你傳遞進去之前是字元類型,
it.next() 拿出來的是object , 然後你通過 (String)強制轉換成了String而已.

c 對外界來說它是Collection 實際上是HashSet . 就相當於 你對別人說 我吃的是菜, 但是你自己知道你吃的是豆芽菜. (別人不知道你吃的是豆芽菜)

『拾』 java集合類,,,

java幾何類一般是四種,map集合,list集合,set集合,properity集合,常用的是map和list,map是鍵值對類型的集合,list是類似於數組類型的集合,按你的意思可以使用map集合類,學生信息可以看成是一個自定義類型 map<string,object> mp=new map<string,object>();

熱點內容
微信如何評論圖片安卓 發布:2024-11-14 11:56:34 瀏覽:848
游戲遍地腳本 發布:2024-11-14 11:56:32 瀏覽:760
怎樣編譯一個背單詞系統 發布:2024-11-14 11:54:47 瀏覽:177
傳奇這個配置怎麼樣 發布:2024-11-14 11:48:25 瀏覽:376
配置橫向防火牆是什麼意思 發布:2024-11-14 11:42:34 瀏覽:731
手機緩存文件能打開嗎 發布:2024-11-14 11:41:00 瀏覽:492
存儲系統集成 發布:2024-11-14 11:14:54 瀏覽:584
雲伺服器搭建方法圖解 發布:2024-11-14 11:14:53 瀏覽:310
挑戰伺服器吃雞是什麼 發布:2024-11-14 10:59:07 瀏覽:932
自繳社保演算法 發布:2024-11-14 10:43:53 瀏覽:554