[자바교육학원,JAVA학원,자바알고리즘, JAVA자료구조교육학원추천]자바 ArrayList구현, under flow및 over flow 고려한 자바기반 ArrayList,오라클자바커뮤니티자바교육,평일,여간,주말자바,JDBC,JSP교육,기초에서실무까지자세히배울수 있습니다.
interface ArrayInterface {
public void add(Object o);
public void add(int index, Object o);
public void removeAll();
public boolean remove(Object o);
public boolean remove(int idx);
public int size();
}
public void add(Object o);
public void add(int index, Object o);
public void removeAll();
public boolean remove(Object o);
public boolean remove(int idx);
public int size();
}
//under flow및 over flow 고려한
//Collection (Array List형태)
class MyArray implements ArrayInterface {
Object[] myArray ;
MyArray() {
myArray = new Object[0];
}
//Collection (Array List형태)
class MyArray implements ArrayInterface {
Object[] myArray ;
MyArray() {
myArray = new Object[0];
}
MyArray(int i) {
if (i < 0) throw new IllegalArgumentException();
myArray = new Object[i];
}
if (i < 0) throw new IllegalArgumentException();
myArray = new Object[i];
}
public int size() {
for(int i=0;i<myArray.length;i++) {
if(myArray[i]==null) return i;
}
return myArray.length;
}
for(int i=0;i<myArray.length;i++) {
if(myArray[i]==null) return i;
}
return myArray.length;
}
public void ensureCapacity(int minCapacity) {
//minCapacity가 현재 size보다 클경우에만 처리할수도 있슴
Object[] newArray = new Object[minCapacity];
System.arraycopy(myArray, 0, newArray, 0, size());
myArray = newArray;
}
//minCapacity가 현재 size보다 클경우에만 처리할수도 있슴
Object[] newArray = new Object[minCapacity];
System.arraycopy(myArray, 0, newArray, 0, size());
myArray = newArray;
}
public void add(Object s) {
ensureCapacity(size() + 1);
myArray[size()] = s;
}
ensureCapacity(size() + 1);
myArray[size()] = s;
}
public void add(int index, Object s) {
int size = size();
if (index > size){
System.out.println("Invalid Index...");
}
else {
if (size == myArray.length) ensureCapacity(size + 1);
//arraycopy로 대체가 가능하다.
//if (index != size)
//System.arraycopy(myArray, index, myArray, index + 1, size - index);
//myArray[index] = s;
if(index<size) {
for(int i=size;i>index;i--) {
myArray[i] = myArray[i-1];
}
myArray[index]=s;
}
}
}
int size = size();
if (index > size){
System.out.println("Invalid Index...");
}
else {
if (size == myArray.length) ensureCapacity(size + 1);
//arraycopy로 대체가 가능하다.
//if (index != size)
//System.arraycopy(myArray, index, myArray, index + 1, size - index);
//myArray[index] = s;
if(index<size) {
for(int i=size;i>index;i--) {
myArray[i] = myArray[i-1];
}
myArray[index]=s;
}
}
}
public boolean remove(int idx) {
int size = size();
if(idx<size) {
myArray[idx]=null;
for(int i=idx;i<size-1;i++) {
myArray[i] = myArray[i+1];
myArray[i+1] = null;
}
//삭제의 경우라면 under flow를 생각안할수도 있슴.
ensureCapacity(size-1);
return true;
}
return false;
}
int size = size();
if(idx<size) {
myArray[idx]=null;
for(int i=idx;i<size-1;i++) {
myArray[i] = myArray[i+1];
myArray[i+1] = null;
}
//삭제의 경우라면 under flow를 생각안할수도 있슴.
ensureCapacity(size-1);
return true;
}
return false;
}
public boolean remove(Object s) {
int i=0, idx=0, size=0;
size = size();
int i=0, idx=0, size=0;
size = size();
for(i=0;i<size;i++) {
if (myArray[i].equals(s)) {
idx = i;
break;
}
}
if (myArray[i].equals(s)) {
idx = i;
break;
}
}
if (i == size) {
System.out.println("Data Not Found....");
return false;
}
System.out.println("Data Not Found....");
return false;
}
if(idx<size)
{
myArray[idx]=null;
for(i=idx;i<size-1;i++) {
myArray[i] = myArray[i+1];
myArray[i+1] = null;
}
ensureCapacity(size-1);
return true;
}
return false;
}
myArray[idx]=null;
for(i=idx;i<size-1;i++) {
myArray[i] = myArray[i+1];
myArray[i+1] = null;
}
ensureCapacity(size-1);
return true;
}
return false;
}
public void removeAll() {
Object[] myArray = new Object[0];
}
Object[] myArray = new Object[0];
}
public String toString() {
String s = "[";
for(int i=0;i<size();i++) {
s = s + myArray[i];
if (i != size()-1){
s = s + ", ";
}
}
s = s + "]";
return s;
}
}
String s = "[";
for(int i=0;i<size();i++) {
s = s + myArray[i];
if (i != size()-1){
s = s + ", ";
}
}
s = s + "]";
return s;
}
}
class MyArrayMain {
public static void main(String[] args) {
MyArray array = new MyArray();
array.add("First");
array.add("Second");
array.add("Third");
System.out.println(array); // [First, Second, Third] 의 출력 요구.
array.remove("Third");
System.out.println(array); // [First, Second] 의 출력 요구.
array.remove(0);
System.out.println(array); // [Second]의 출력 요구.
array.add(0, "Zero");
System.out.println(array); // [Zero, Second]의 출력 요구.
}
}
public static void main(String[] args) {
MyArray array = new MyArray();
array.add("First");
array.add("Second");
array.add("Third");
System.out.println(array); // [First, Second, Third] 의 출력 요구.
array.remove("Third");
System.out.println(array); // [First, Second] 의 출력 요구.
array.remove(0);
System.out.println(array); // [Second]의 출력 요구.
array.add(0, "Zero");
System.out.println(array); // [Zero, Second]의 출력 요구.
}
}
오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com
평일주간(9:30~18:10) 개강
(6/30)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(6/30)[기업100%환급]안드로이드개발자과정
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
주말(10:00~17:50) 개강
(6/29)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정
주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지
www.oraclejavacommunity.com
평일주간(9:30~18:10) 개강
(6/30)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(6/30)[기업100%환급]안드로이드개발자과정
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
주말(10:00~17:50) 개강
(6/29)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정
주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지
댓글 없음:
댓글 쓰기