java.util.Collections 集合帮助类 示例程序(JUnit演示) 排序 @Test public void testSort() { ListInteger demoList = new ArrayListInteger(Arrays.asList(3, 2, 1)); assertEquals(3, demoList.get(0).intValue()); //public static T extends Comparable
java.util.Collections 集合帮助类
示例程序(JUnit演示)
排序
<code class="java"> @Test public void testSort() { List<Integer> demoList = new ArrayList<Integer>(Arrays.asList(3, 2, 1)); assertEquals(3, demoList.get(0).intValue()); //public static <T extends Comparable<? super T>> void sort(List<T> list) Collections.sort(demoList); assertEquals(1, demoList.get(0).intValue()); //public static void shuffle(List<?> list) // 随机排序 //public static void reverse(List<?> list) // 反序 }
查找
<code class="java"> @Test public void testBinarySearch() { List<Integer> demoList = new ArrayList<Integer>(Arrays.asList(3, 2, 1)); //必须先排序 Collections.sort(demoList); assertEquals(1, demoList.get(0).intValue()); //二分查找位置 //public static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key) assertEquals(0, Collections.binarySearch(demoList, 1)); //public static int indexOfSubList(List<?> source, List<?> target) // public static int lastIndexOfSubList(List<?> source, List<?> target) }
置换
<code class="java "> @Test public void testSwap() { List<Integer> demoList = new ArrayList<Integer>(Arrays.asList(3, 2, 1)); //public static void swap(List<?> list, int i, int j) Collections.swap(demoList, 0, 2); assertEquals(1, demoList.get(0).intValue()); //public static void rotate(List<?> list, int distance) //指定距离轮换 //public static <T> boolean replaceAll(List<T> list, T oldVal, T newVal) //指定替换 }
拷贝
<code class="java "> @Test public void testCopy() { List<Integer> demoList = new ArrayList<Integer>(Arrays.asList(3, 2, 1)); //public static <T> void copy(List<? super T> dest, List<? extends T> src) //注意目的List的size最少要等于src的size List<Integer> copyList = new ArrayList<Integer>(Arrays.asList(1, 2, 3)); Collections.copy(copyList, demoList); assertEquals(3, copyList.size()); assertEquals(3, copyList.get(0).intValue()); copyList.add(4); assertEquals(3, demoList.size()); }
比较
<code class="java "> @Test public void testCompary() { List<Integer> demoList = new ArrayList<Integer>(Arrays.asList(3, 2, 1)); assertEquals(1, Collections.min(demoList).intValue()); assertEquals(3, Collections.max(demoList).intValue()); List<Integer> compareList = new ArrayList<Integer>(Arrays.asList(5, 6, 7)); //Returns true if the two specified collections have no elements in common assertTrue(Collections.disjoint(demoList, compareList)); }
创造不同的集合
<code class="java "> @SuppressWarnings("unused") @Test public void testCreate() { List<Integer> demoList = new ArrayList<Integer>(Arrays.asList(3, 2, 1)); //空对象 size=0 无添加方法 List<Integer> emptyList = Collections.emptyList(); //返回一个只包含指定对象的不可变列表。 List<Integer> singletonList = Collections.singletonList(1); //返回指定列表的一个动态类型安全视图。 List<Integer> checkedList = Collections.checkedList(demoList, Integer.class); //返回指定列表的不可修改视图。 List<Integer> unmodifiableList = Collections.unmodifiableList(demoList); //返回指定列表支持的同步(线程安全的)列表。 List<Integer> synchronizedList = Collections.synchronizedList(demoList); synchronized (synchronizedList) { Iterator<Integer> i = synchronizedList.iterator(); // Must be in synchronized block while (i.hasNext()) i.next(); } //map set sortedMap sortedSet }
环境 jdk1.6 window7 junit4

ToadDuserSinMySqleFeffectially, 다음에 따르면, 다음 사항을 따르십시오

toaddanewuser와 함께 complexpermissionsinmysql, followthesesteps : 1) createShereuser'NewUser '@'localhost'Identifiedby'pa ssword ';. 2) grantreadaccesstoalltablesin'mydatabase'withgrantselectonmydatabase.to'newuser'@'localhost';. 3) GrantWriteAccessto '

MySQL의 문자열 데이터 유형에는 char, varchar, binary, varbinary, blob 및 텍스트가 포함됩니다. 콜라이트는 문자열의 비교와 분류를 결정합니다. 1. 차량은 고정 길이 스트링에 적합하고 Varchar는 가변 길이 스트링에 적합합니다. 2. 이진 및 바이너리는 이진 데이터에 사용되며 Blob 및 텍스트는 큰 객체 데이터에 사용됩니다. 3. UTF8MB4_UNICODE_CI와 같은 정렬 규칙은 상류 및 소문자를 무시하며 사용자 이름에 적합합니다. UTF8MB4_BIN은 사례에 민감하며 정확한 비교가 필요한 필드에 적합합니다.

가장 좋은 mysqlvarchar 열 길이 선택은 데이터 분석을 기반으로하고, 향후 성장을 고려하고, 성능 영향을 평가하고, 문자 세트 요구 사항을 기반으로해야합니다. 1) 일반적인 길이를 결정하기 위해 데이터를 분석합니다. 2) 미래 확장 공간을 예약하십시오. 3) 성능에 대한 큰 길이의 영향에주의를 기울이십시오. 4) 문자 세트가 스토리지에 미치는 영향을 고려하십시오. 이러한 단계를 통해 데이터베이스의 효율성과 확장 성을 최적화 할 수 있습니다.

mysqlblobshavelimits : tinyblob (255bodes), blob (65,535 bytes), mediumblob (16,777,215 bctes), andlongblob (4,294,967,295 Bytes) .tousebl obseffectical : 1) 고려 사항을 고려합니다

MySQL에서 사용자 생성을 자동화하기위한 최고의 도구 및 기술은 다음과 같습니다. 1. MySQLworkBench, 중소형 환경에 적합하고 사용하기 쉽지만 자원 소비가 높습니다. 2. 다중 서버 환경에 적합한 Ansible, 간단하지만 가파른 학습 곡선; 3. 사용자 정의 파이썬 스크립트, 유연하지만 스크립트 보안을 보장해야합니다. 4. 꼭두각시와 요리사는 대규모 환경에 적합하며 복잡하지만 확장 가능합니다. 선택할 때 척도, 학습 곡선 및 통합 요구를 고려해야합니다.

예, youcansearchinsideablobinmysqlusingspecifictechniques.1) converttheblobtoautf-8stringwithConvertFunctionandSearchusing


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경