संभव डुप्लिकेट:
How to convert an ArrayList containing Integers to primitive int array?Convert ArrayList <Byte> एक बाइट में []
कैसे एक ArrayList<Byte>
एक byte[]
में परिवर्तित करने के?
ArrayList.toArray()
मुझे Byte[]
वापस देता है।
संभव डुप्लिकेट:
How to convert an ArrayList containing Integers to primitive int array?Convert ArrayList <Byte> एक बाइट में []
कैसे एक ArrayList<Byte>
एक byte[]
में परिवर्तित करने के?
ArrayList.toArray()
मुझे Byte[]
वापस देता है।
toArray कॉल करने के बाद() आप अपाचे कॉमन्स toPrimitive विधि में परिणाम पारित कर सकते हैं:
इसके लिए आपको अभी भी सूची में 'toArray() 'का उपयोग करना होगा। – Marcelo
यह विधि पैरामीटर के रूप में एक सरणी लेता है। ''ऐरेलिस्ट' नहीं। इसके लिए 'ArrayList'' से सरणी में रूपांतरण की आवश्यकता होगी, और फिर' 'बाइट'' सरणी को' 'बाइट'' सरणी में परिवर्तित करना होगा। सुनिश्चित नहीं है कि यह रूपांतरण करने का सबसे प्रभावी तरीका होगा। –
@ विवियन मैं मानता हूं कि यह सबसे कुशल नहीं हो सकता है, लेकिन शायद लिखने के लिए सबसे सरल है। यदि प्रदर्शन एक चिंता है, तो मैं माइकल या विवियन के उत्तर का उपयोग करूंगा। – JustinKSU
byte[] data = new byte[list.size()];
for (int i = 0; i < data.length; i++) {
data[i] = (byte) list.get(i);
}
कृपया ध्यान दें कि इस तथ्य यह है कि Byte
वस्तुओं byte
मूल्यों में बदल जाने की आवश्यकता की वजह से कुछ समय लग सकता।
इसके अलावा, अगर अपनी सूची null
मान हैं, यह एक NullPointerExcpetion
फेंक देते हैं।
byte[] result = new byte[list.size()];
for(int i = 0; i < list.size(); i++) {
result[i] = list.get(i).byteValue();
}
हाँ, जावा के संग्रह कष्टप्रद जब यह आदिम प्रकार की बात आती हैं ।
आकार में लापता ब्रैकेट() – nick
कोई अंतर्निहित विधि दिमाग में नहीं आती है। हालांकि, एक अप कोडिंग बिल्कुल स्पष्ट है:
public static byte[] toByteArray(List<Byte> in) {
final int n = in.size();
byte ret[] = new byte[n];
for (int i = 0; i < n; i++) {
ret[i] = in.get(i);
}
return ret;
}
ध्यान दें कि यह आप दे देंगे एक NullPointerException
अगर in
null
है या अगर यह nulls
शामिल हैं। यह स्पष्ट है कि अगर आपको अलग-अलग व्यवहार की आवश्यकता है तो इस फ़ंक्शन को कैसे बदला जाए।
ऐरेलिस्ट बाइट्स को स्टोर करने का सबसे अक्षम तरीका है। यदि आप नहीं जानते कि कितने बाइट्स ByteArrayOutputStream का उपयोग लिखने() और toByteArray() के साथ करेंगे, तो यदि आप इसे से बच सकते हैं तो सूची का उपयोग न करें। –