2010-07-07 11 views
8
में

जावास्क्रिप्ट में मैं जैसे स्ट्रिंग मूल्यों की एक सरणी का निर्माण कर सकते हैं:सरल रूप में जावा में तार के एक ArrayList का निर्माण के रूप में एक कर सकते हैं जावास्क्रिप्ट

var stuff = new Array('foo','bar','baz','boz','gaz','goz'); 

या और भी आसान

var stuff = 'foo,bar,baz,boz,gaz,goz'.split(','); 

में जावा यह बहुत ज्यादा वर्बोज़ लगता है और जटिल ... वहाँ इस तुलना में एक आसान तरीका है?

ArrayList<String> stuff = new ArrayList<String>(); 
stuff.add("foo"); 
stuff.add("bar"); 
stuff.add("baz"); 
stuff.add("boz"); 
stuff.add("gaz"); 
stuff.add("goz"); 

मेरे वास्तविक परिदृश्य में मैं ArrayList में जा रहा 30-40 आइटम नहीं हैं ... मैं वहाँ आंकड़ा सिर्फ एक आसान तरीका हो गया है! मैं स्पष्ट रूप से क्या देख रहा हूं? हालांकि यह तकनीकी रूप से एक ArrayList कार्यान्वयन नहीं है, लेकिन एक आंतरिक प्रकार है

+4

और भूल नहीं है 'वर सामान = [ 'foo', 'बार', 'baz', 'बोज़', 'GAZ' का उपयोग कर, 'गोज़ abt ']; ' – Gabe

+0

यदि जावा 7 के बारे में आपका उत्सुकता है, तो संग्रह लिटल के बारे में यहां और पढ़ें: http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/001193.html – Jeremy

उत्तर

14

List<String> strings = Arrays.asList(new String[] {"foo", "bar", "baz"}); या List<String> strings = Arrays.asList("foo,bar,baz".split(","));

+6

' Arrays.asList' varargs पैरामीटर स्वीकार करता है। तो यह रूप में 'सूची तार = Arrays.asList (" foo "," बार "," baz ")' कहा जा सकता है। बेहतर अभी तक, 'Arrays.asList' के लिए 'आयात स्थिर' करें और फिर यह भी आसान हो जाता है: 'सूची स्ट्रिंग्स = asList (" foo "," bar "," baz ")'। –

+1

@ abhin4v: पिछले एक मैं क्या उपयोग है; यह बहुत शोर की मात्रा को बहुत कम करता है, और यह आधार पुस्तकालयों में भी है। –

+0

एक वास्तविक 'java.util.ArrayList' के लिए, आप' नई 'java.util.ArrayList (...)' में लपेट की जरूरत होगी। –

1

Arrays.asList(), एक सूची कार्यान्वयन पाने के लिए एक अच्छा तरीका है।

आप वास्तव में यह की जरूरत है एक ArrayList आप एक त्वरित उपयोगिता विधि लिख सकता है होना करने के लिए:

public static List<String> create(String... items) { 
    List<String> list = new ArrayList<String>(items.length); 
    for (String item : items) { 
     list.add(item); 
    } 

    return list; 
} 
+0

मुझे यह जोड़ना चाहिए कि उस स्प्लिक्स का एक अच्छा समाधान है और आपको शायद वास्तविक कार्यान्वयन की परवाह नहीं है, लेकिन आपको 'ArrayList सामान' से ' सामग्री' पर आपको परिवर्तनीय घोषणा बदलनी होगी। – Jeff

1

आप संकलन समय पर सूची में 30-40 आइटम जाम कर रहे हैं, कि एक का लक्षण हो सकता है अधिक बीमार यह आपके द्वारा कार्यान्वित किए जा रहे कार्यों पर बहुत निर्भर करता है। आप अभी भी split का उपयोग करता है, तो क्या तुम सच में हालांकि चाहते हैं कर सकते हैं। फिर बस अपनी सूची में एक द्रव्यमान सम्मिलित करें।

0
चेतावनी है कि मैं सिर्फ जावा के संग्रह अपने आप निम्नलिखित compiles और रन मेरे लिए सीख रहा हूँ, साथ

:

import java.util.*; 
class ArrayListStrings { 
    public static void main(String[] args) { 
     String[] stuffArray = {"foo","bar","baz","boz","gaz","goz"}; 
     ArrayList<String> stuff = new ArrayList<String>(); 
     stuff.addAll(Arrays.asList(stuffArray)); 
     for (int i = 0; i < stuff.toArray().length; i++) 
      System.out.println(stuff.toArray()[i]); 
    } 
} 

उत्पादन होता है:

foo
बार
baz
बोज़
गैज़
गोज़

संबंधित मुद्दे

 संबंधित मुद्दे