[완료] 새로 정의해서 만든 객체를 리스트로 유지하려면 vector를 써야하나요??

tyolee83의 이미지

새로 만들어낸 객체를 리스트로 유지하려면

vector를 써야 하는건지 궁금합니다.

제가 알기로 vector가 어떠한 객체든지 유지한다고 알고 있었는데

구글링을 해보니 legacy method라는 얘기가 있고....

List나 Arraylist들을 언급하던데

찾아보니 이것들은 Element e 를 저장하는거 같던데요....

여기에도 새로 정의한 객체를 저장하는 것이 가능한가요??

조언좀 부탁드립니다.

감사합니다. :)

lacovnk의 이미지

자바입니까?

요즘 자바는 list와 같은 collection들에 타입을 지정해놓을 수도 있습니다. 이거 뭐라고 하더라..

tyolee83의 이미지

그럼 요즘에는 List를 사용한다는 말씀이신지...

//TODO

익명 사용자의 이미지

legacy method라는 것이... 우리말로 하면 "예전 방식"쯤 됩니다.
말 그대로 예전 방식이지요.

자바가 제네릭스를 지원하지 않을때 쓰던 방식이라는 의미의 말일 듯 싶군요.

june의 이미지

예전에는 vector를 썼으나 요즘 책이나 sun이나 IBM쪽 소스를 보면 ArrayList를 많이 사용하는걸 볼 수 있는데요, vector는 인터페이스죠. 인터페이스를 사용하면 속도면에서 좀 이득이 있다고 합니다.
전 주로 arrayList를 사용하는데, 속도차이는 크게 못 느낍니다만.

Vector myList = new ArrayList();

이렇게 사용하라고 하네요..

===============
커피는 블랙이나 설탕만..

커피는 블랙이나 설탕만..

cleol의 이미지

Vector 는 요새 잘 안사용합니다. 역사적인 이유로 남아있는 녀석이지요. 자바에서 리스트를 사용하시려면 List 인터페이스를 구현하고 있는 다른 클래스들, 즉, ArrayList, LinkedList 같은 녀석들을 사용하시면 됩니다. ArrayList 가 벡터와 가장 가깝지요.

Vector 는 원래 JDK 1.0 에서부터 제공되었지만, 1.2 이후에 Collection framework 가 등장하면서 보다 일관성있는 인터페이스와 명칭을 가진 클래스들이 제공되게 되었습니다. Vector 역시 Collection framework 의 List 인터페이스를 구현하고 있기는 하지만, Collection framework 의 다른 멤버들이 택하고 있는 컨벤션과 좀 차이가 있습니다.

예를 들어 Vector 는 thread-safety 를 보장합니다. 하지만 single thread 환경에서라면 쓸데 없는 오버 헤드가 있는 셈이지요. ArrayList, LinkedList 같은 놈들은 thread-safety 를 보장하지 않습니다. 만약에 thread-safety 가 보장되어야 한다면, Collections.synchronizedList 를 사용해 thread-safe 한 wrapper 를 만들어 사용하는 방식입니다.

그리고 윗 분이 Vector 를 인터페이스라고 하셨는데 Vector 는 인터페이스가 아닙니다. "concrete" class 입니다. 또, 인터페이스와 속도도 아무런 관련없습니다.^^

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.